From 7cf46711cca890244b4331629c060c4d19840de3 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 13 Feb 2016 19:23:30 +0100 Subject: Add tests for the dir segment --- test/segments/dir.spec | 118 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100755 test/segments/dir.spec (limited to 'test/segments') diff --git a/test/segments/dir.spec b/test/segments/dir.spec new file mode 100755 index 00000000..035addea --- /dev/null +++ b/test/segments/dir.spec @@ -0,0 +1,118 @@ +#!/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 testTruncateFoldersWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) + POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 + POWERLEVEL9K_SHORTEN_STRATEGY='truncate_folders' + + FOLDER=/tmp/powerlevel9k-test/1/12/123/1234/12345/123456/1234567/12345678/123456789 + mkdir -p $FOLDER + cd $FOLDER + + assertEquals "%K{blue} %F{black}%3(c:…/:)%2c %k%F{blue}%f " "$(build_left_prompt)" + + cd - + rm -fr /tmp/powerlevel9k-test + + unset FOLDER + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_SHORTEN_DIR_LENGTH + unset POWERLEVEL9K_SHORTEN_STRATEGY +} + +function testTruncateMiddleWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) + POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 + POWERLEVEL9K_SHORTEN_STRATEGY='truncate_middle' + + FOLDER=/tmp/powerlevel9k-test/1/12/123/1234/12345/123456/1234567/12345678/123456789 + mkdir -p $FOLDER + cd $FOLDER + + assertEquals "%K{blue} %F{black}/tmp/po…st/1/12/123/1234/12…45/12…56/12…67/12…78/123456789 %k%F{blue}%f " "$(build_left_prompt)" + + cd - + rm -fr /tmp/powerlevel9k-test + + unset FOLDER + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_SHORTEN_DIR_LENGTH + unset POWERLEVEL9K_SHORTEN_STRATEGY +} + +function testTruncationFromRightWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) + POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 + POWERLEVEL9K_SHORTEN_STRATEGY='truncate_from_right' + + FOLDER=/tmp/powerlevel9k-test/1/12/123/1234/12345/123456/1234567/12345678/123456789 + mkdir -p $FOLDER + cd $FOLDER + + assertEquals "%K{blue} %F{black}/tm…/po…/1/12/12…/12…/12…/12…/12…/12…/123456789 %k%F{blue}%f " "$(build_left_prompt)" + + cd - + rm -fr /tmp/powerlevel9k-test + + unset FOLDER + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_SHORTEN_DIR_LENGTH + unset POWERLEVEL9K_SHORTEN_STRATEGY +} + +function testHomeFolderDetectionWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) + POWERLEVEL9K_HOME_ICON='home-icon' + + cd ~ + assertEquals "%K{blue} %F{black%}home-icon%f %F{black}%~ %k%F{blue}%f " "$(build_left_prompt)" + + cd - + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_HOME_ICON +} + +function testHomeSubfolderDetectionWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) + POWERLEVEL9K_HOME_SUB_ICON='sub-icon' + + FOLDER=~/powerlevel9k-test + mkdir $FOLDER + cd $FOLDER + assertEquals "%K{blue} %F{black%}sub-icon%f %F{black}%~ %k%F{blue}%f " "$(build_left_prompt)" + + cd - + rm -fr $FOLDER + unset FOLDER + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_HOME_SUB_ICON +} + +function testOtherFolderDetectionWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) + POWERLEVEL9K_FOLDER_ICON='folder-icon' + + FOLDER=/tmp/powerlevel9k-test + mkdir $FOLDER + cd $FOLDER + assertEquals "%K{blue} %F{black%}folder-icon%f %F{black}%~ %k%F{blue}%f " "$(build_left_prompt)" + + cd - + rm -fr $FOLDER + unset FOLDER + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_FOLDER_ICON +} + +source shunit2/source/2.1/src/shunit2 -- cgit v1.2.3 From 490bafc8682b49e1ba321f51fa3c99e49529e702 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 13 Feb 2016 22:22:37 +0100 Subject: Add tests for `rust_version` --- .travis.yml | 1 + test/segments/rust_version.spec | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100755 test/segments/rust_version.spec (limited to 'test/segments') diff --git a/.travis.yml b/.travis.yml index e9afcc29..f42835ec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,4 +22,5 @@ script: - test/functions/utilities.spec - test/functions/colors.spec - test/segments/dir.spec + - test/segments/rust_version.spec diff --git a/test/segments/rust_version.spec b/test/segments/rust_version.spec new file mode 100755 index 00000000..49b06bcf --- /dev/null +++ b/test/segments/rust_version.spec @@ -0,0 +1,40 @@ +#!/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 mockRust() { + echo 'rustc 0.4.1a-alpha' +} + +function testRust() { + alias rustc=mockRust + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(rust_version) + + assertEquals "%K{208} %F{black}Rust 0.4.1a-alpha %k%F{208}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unalias rustc +} + +function testRustPrintsNothingIfRustIsNotAvailable() { + alias rustc=noRust + POWERLEVEL9K_CUSTOM_WORLD='echo world' + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world rust_version) + + assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_CUSTOM_WORLD + unalias rustc +} + +source shunit2/source/2.1/src/shunit2 -- cgit v1.2.3 From 3407494d7d0560dfb13c8ecf3e4f1835cb8c3181 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 13 Feb 2016 22:34:11 +0100 Subject: Add tests for `go_version` --- .travis.yml | 1 + test/segments/go_version.spec | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100755 test/segments/go_version.spec (limited to 'test/segments') diff --git a/.travis.yml b/.travis.yml index f42835ec..71aff690 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,4 +23,5 @@ script: - test/functions/colors.spec - test/segments/dir.spec - test/segments/rust_version.spec + - test/segments/go_version.spec diff --git a/test/segments/go_version.spec b/test/segments/go_version.spec new file mode 100755 index 00000000..aa9f625d --- /dev/null +++ b/test/segments/go_version.spec @@ -0,0 +1,40 @@ +#!/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 mockGo() { + echo 'go version go1.5.3 darwin/amd64' +} + +function testGo() { + alias go=mockGo + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(go_version) + + assertEquals "%K{green} %F{255}go1.5.3 %k%F{green}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unalias go +} + +function testGoSegmentPrintsNothingIfGoIsNotAvailable() { + alias go=noGo + POWERLEVEL9K_CUSTOM_WORLD='echo world' + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world go_version) + + assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_CUSTOM_WORLD + unalias go +} + +source shunit2/source/2.1/src/shunit2 -- cgit v1.2.3