From 3d451499aaa62f1d01e1d5fb3dd0e274ebcf5ad2 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Sat, 4 Feb 2017 08:53:35 +0100 Subject: [PATCH] Fix tests --- test/powerlevel9k.spec | 74 +++++++++++++++++++++++++++--------------- test/segments/dir.spec | 27 +++++++-------- 2 files changed, 59 insertions(+), 42 deletions(-) diff --git a/test/powerlevel9k.spec b/test/powerlevel9k.spec index 1aab2c5f..5f6b6f27 100755 --- a/test/powerlevel9k.spec +++ b/test/powerlevel9k.spec @@ -10,86 +10,108 @@ function setUp() { # Load Powerlevel9k source powerlevel9k.zsh-theme source functions/* + + # Unset mode, so that user settings + # do not interfere with tests + unset POWERLEVEL9K_MODE } function testJoinedSegments() { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir dir_joined) + cd /tmp - assertEquals "%K{blue} %F{black}%~ %K{blue}%F{black}%F{black}%~ %k%F{blue}%f " "$(build_left_prompt)" + assertEquals "%K{blue} %F{black}/tmp %K{blue}%F{black}%F{black}/tmp %k%F{blue}%f " "$(build_left_prompt)" unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + cd - } function testTransitiveJoinedSegments() { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir root_indicator_joined dir_joined) + cd /tmp - assertEquals "%K{blue} %F{black}%~ %K{blue}%F{black}%F{black}%~ %k%F{blue}%f " "$(build_left_prompt)" + assertEquals "%K{blue} %F{black}/tmp %K{blue}%F{black}%F{black}/tmp %k%F{blue}%f " "$(build_left_prompt)" unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + cd - } function testJoiningWithConditionalSegment() { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir background_jobs dir_joined) + cd /tmp - assertEquals "%K{blue} %F{black}%~ %K{blue}%F{black} %F{black}%~ %k%F{blue}%f " "$(build_left_prompt)" + assertEquals "%K{blue} %F{black}/tmp %K{blue}%F{black} %F{black}/tmp %k%F{blue}%f " "$(build_left_prompt)" unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + cd - } function testDynamicColoringOfSegmentsWork() { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) - POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND='red' + POWERLEVEL9K_DIR_DEFAULT_BACKGROUND='red' + cd /tmp - assertEquals "%K{red} %F{black}%~ %k%F{red}%f " "$(build_left_prompt)" + assertEquals "%K{red} %F{black}/tmp %k%F{red}%f " "$(build_left_prompt)" unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS - unset POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND + unset POWERLEVEL9K_DIR_DEFAULT_BACKGROUND + cd - } function testDynamicColoringOfVisualIdentifiersWork() { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) - POWERLEVEL9K_MODE='awesome-patched' - POWERLEVEL9K_DIR_HOME_SUBFOLDER_VISUAL_IDENTIFIER_COLOR='green' + POWERLEVEL9K_DIR_DEFAULT_VISUAL_IDENTIFIER_COLOR='green' + POWERLEVEL9K_FOLDER_ICON="icon-here" - # Re-Source the icons, as the POWERLEVEL9K_MODE is directly - # evaluated there. - source functions/icons.zsh + cd /tmp - assertEquals "%K{blue} %F{green%}%f %F{black}%~ %k%F{blue}%f " "$(build_left_prompt)" + assertEquals "%K{blue} %F{green%}icon-here%f %F{black}/tmp %k%F{blue}%f " "$(build_left_prompt)" unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS - unset POWERLEVEL9K_MODE - unset POWERLEVEL9K_DIR_HOME_SUBFOLDER_VISUAL_IDENTIFIER_COLOR + unset POWERLEVEL9K_DIR_DEFAULT_VISUAL_IDENTIFIER_COLOR + unset POWERLEVEL9K_FOLDER_ICON + cd - } function testColoringOfVisualIdentifiersDoesNotOverwriteColoringOfSegment() { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) - POWERLEVEL9K_MODE='awesome-patched' - POWERLEVEL9K_DIR_HOME_SUBFOLDER_VISUAL_IDENTIFIER_COLOR='green' - POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND='red' - POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND='yellow' + POWERLEVEL9K_DIR_DEFAULT_VISUAL_IDENTIFIER_COLOR='green' + POWERLEVEL9K_DIR_DEFAULT_FOREGROUND='red' + POWERLEVEL9K_DIR_DEFAULT_BACKGROUND='yellow' + POWERLEVEL9K_FOLDER_ICON="icon-here" # Re-Source the icons, as the POWERLEVEL9K_MODE is directly # evaluated there. source functions/icons.zsh - assertEquals "%K{yellow} %F{green%}%f %F{red}%~ %k%F{yellow}%f " "$(build_left_prompt)" + cd /tmp + + assertEquals "%K{yellow} %F{green%}icon-here%f %F{red}/tmp %k%F{yellow}%f " "$(build_left_prompt)" unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS - unset POWERLEVEL9K_MODE - unset POWERLEVEL9K_DIR_HOME_SUBFOLDER_VISUAL_IDENTIFIER_COLOR - unset POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND - unset POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND + unset POWERLEVEL9K_DIR_DEFAULT_VISUAL_IDENTIFIER_COLOR + unset POWERLEVEL9K_DIR_DEFAULT_FOREGROUND + unset POWERLEVEL9K_DIR_DEFAULT_BACKGROUND + unset POWERLEVEL9K_FOLDER_ICON + cd - } function testOverwritingIconsWork() { POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) - POWERLEVEL9K_HOME_SUB_ICON='icon-here' + POWERLEVEL9K_FOLDER_ICON='icon-here' + #local testFolder=$(mktemp -d -p p9k) + # Move testFolder under home folder + #mv testFolder ~ + # Go into testFolder + #cd ~/$testFolder - assertEquals "%K{blue} %F{black%}icon-here%f %F{black}%~ %k%F{blue}%f " "$(build_left_prompt)" + cd /tmp + assertEquals "%K{blue} %F{black%}icon-here%f %F{black}/tmp %k%F{blue}%f " "$(build_left_prompt)" unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS - unset POWERLEVEL9K_DIR_HOME_SUB_ICON + unset POWERLEVEL9K_DIR_FOLDER_ICON + cd - + # rm -fr ~/$testFolder } source shunit2/source/2.1/src/shunit2 diff --git a/test/segments/dir.spec b/test/segments/dir.spec index 840a298b..a5378ab6 100755 --- a/test/segments/dir.spec +++ b/test/segments/dir.spec @@ -9,10 +9,16 @@ function setUp() { export TERM="xterm-256color" # Load Powerlevel9k source powerlevel9k.zsh-theme + + # Every test should at least use the dir segment + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) +} + +function tearDown() { + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS } function testTruncateFoldersWorks() { - POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 POWERLEVEL9K_SHORTEN_STRATEGY='truncate_folders' @@ -20,19 +26,17 @@ function testTruncateFoldersWorks() { mkdir -p $FOLDER cd $FOLDER - assertEquals "%K{blue} %F{black}%3(c:…/:)%2c %k%F{blue}%f " "$(build_left_prompt)" + assertEquals "%K{blue} %F{black}…/12345678/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 testTruncateMiddleWorks() { - POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir) POWERLEVEL9K_SHORTEN_DIR_LENGTH=2 POWERLEVEL9K_SHORTEN_STRATEGY='truncate_middle' @@ -47,12 +51,10 @@ function testTruncateMiddleWorks() { 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' @@ -66,52 +68,45 @@ function testTruncationFromRightWorks() { 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)" + 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)" + assertEquals "%K{blue} %F{black%}sub-icon%f %F{black}~/powerlevel9k-test %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)" + assertEquals "%K{blue} %F{black%}folder-icon%f %F{black}/tmp/powerlevel9k-test %k%F{blue}%f " "$(build_left_prompt)" cd - rm -fr $FOLDER unset FOLDER - unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS unset POWERLEVEL9K_FOLDER_ICON }