diff options
author | Dominik Ritter <dritter03@googlemail.com> | 2018-05-01 03:15:37 +0300 |
---|---|---|
committer | Dominik Ritter <dritter03@googlemail.com> | 2018-06-07 02:54:32 +0300 |
commit | 0257159e1ef634f2ccd7121b1c93f359fae07e46 (patch) | |
tree | b0d7d316a3d944d582534c4c8568953650094398 /test/segments/laravel_version.spec | |
parent | a2d8cccd098bc1f739c324623bdabb701e65ba90 (diff) |
Add tests for laravel version segment to travis
Diffstat (limited to 'test/segments/laravel_version.spec')
-rwxr-xr-x | test/segments/laravel_version.spec | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/test/segments/laravel_version.spec b/test/segments/laravel_version.spec new file mode 100755 index 00000000..bebbfcfc --- /dev/null +++ b/test/segments/laravel_version.spec @@ -0,0 +1,69 @@ +#!/usr/bin/env zsh +#vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8 + +# Required for shunit2 to run correctly +setopt shwordsplit +SHUNIT_PARENT=$0 + +function setUp() { + export TERM="xterm-256color" + # Load Powerlevel9k + source powerlevel9k.zsh-theme +} + +function mockLaravelVersion() { + case "$1" in + "artisan") + echo "Laravel Framework version 5.4.23" + ;; + default) + esac +} + +function mockNoLaravelVersion() { + # This should output some error + >&2 echo "Artisan not available" + return 1 +} + +function testLaravelVersionSegment() { + alias php=mockLaravelVersion + POWERLEVEL9K_LARAVEL_ICON='x' + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(laravel_version) + + assertEquals "%K{001} %F{white%}x%f %F{white}5.4.23 %k%F{maroon}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_LARAVEL_ICON + unalias php +} + +function testLaravelVersionSegmentIfArtisanIsNotAvailable() { + alias php=mockNoLaravelVersion + POWERLEVEL9K_CUSTOM_WORLD='echo world' + POWERLEVEL9K_LARAVEL_ICON='x' + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world laravel_version) + + assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_LARAVEL_ICON + unset POWERLEVEL9K_CUSTOM_WORLD + unalias php +} + +function testLaravelVersionSegmentPrintsNothingIfPhpIsNotAvailable() { + alias php=noPhp + POWERLEVEL9K_CUSTOM_WORLD='echo world' + POWERLEVEL9K_LARAVEL_ICON='x' + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world laravel_version) + + assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_LARAVEL_ICON + unset POWERLEVEL9K_CUSTOM_WORLD + unalias php +} + +source shunit2/source/2.1/src/shunit2 |