|
|
@ -9,10 +9,16 @@ function setUp() {
|
|
|
|
export TERM="xterm-256color"
|
|
|
|
export TERM="xterm-256color"
|
|
|
|
# Load Powerlevel9k
|
|
|
|
# Load Powerlevel9k
|
|
|
|
source powerlevel9k.zsh-theme
|
|
|
|
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() {
|
|
|
|
function testTruncateFoldersWorks() {
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_folders'
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_folders'
|
|
|
|
|
|
|
|
|
|
|
@ -20,19 +26,17 @@ function testTruncateFoldersWorks() {
|
|
|
|
mkdir -p $FOLDER
|
|
|
|
mkdir -p $FOLDER
|
|
|
|
cd $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 -
|
|
|
|
cd -
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
|
|
|
|
|
|
|
|
unset FOLDER
|
|
|
|
unset FOLDER
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
|
|
|
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function testTruncateMiddleWorks() {
|
|
|
|
function testTruncateMiddleWorks() {
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_middle'
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_middle'
|
|
|
|
|
|
|
|
|
|
|
@ -47,12 +51,10 @@ function testTruncateMiddleWorks() {
|
|
|
|
|
|
|
|
|
|
|
|
unset FOLDER
|
|
|
|
unset FOLDER
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function testTruncationFromRightWorks() {
|
|
|
|
function testTruncationFromRightWorks() {
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_from_right'
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_from_right'
|
|
|
|
|
|
|
|
|
|
|
@ -66,7 +68,6 @@ function testTruncationFromRightWorks() {
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
|
|
|
|
|
|
|
|
unset FOLDER
|
|
|
|
unset FOLDER
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
|
|
|
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -114,47 +115,144 @@ function testTruncateWithFolderMarkerWithChangedFolderMarker() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function testHomeFolderDetectionWorks() {
|
|
|
|
function testHomeFolderDetectionWorks() {
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
|
|
|
|
|
|
|
POWERLEVEL9K_HOME_ICON='home-icon'
|
|
|
|
POWERLEVEL9K_HOME_ICON='home-icon'
|
|
|
|
|
|
|
|
|
|
|
|
cd ~
|
|
|
|
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 -
|
|
|
|
cd -
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_HOME_ICON
|
|
|
|
unset POWERLEVEL9K_HOME_ICON
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function testHomeSubfolderDetectionWorks() {
|
|
|
|
function testHomeSubfolderDetectionWorks() {
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
|
|
|
|
|
|
|
POWERLEVEL9K_HOME_SUB_ICON='sub-icon'
|
|
|
|
POWERLEVEL9K_HOME_SUB_ICON='sub-icon'
|
|
|
|
|
|
|
|
|
|
|
|
FOLDER=~/powerlevel9k-test
|
|
|
|
FOLDER=~/powerlevel9k-test
|
|
|
|
mkdir $FOLDER
|
|
|
|
mkdir $FOLDER
|
|
|
|
cd $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 -
|
|
|
|
cd -
|
|
|
|
rm -fr $FOLDER
|
|
|
|
rm -fr $FOLDER
|
|
|
|
unset FOLDER
|
|
|
|
unset FOLDER
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_HOME_SUB_ICON
|
|
|
|
unset POWERLEVEL9K_HOME_SUB_ICON
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function testOtherFolderDetectionWorks() {
|
|
|
|
function testOtherFolderDetectionWorks() {
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
|
|
|
|
|
|
|
POWERLEVEL9K_FOLDER_ICON='folder-icon'
|
|
|
|
POWERLEVEL9K_FOLDER_ICON='folder-icon'
|
|
|
|
|
|
|
|
|
|
|
|
FOLDER=/tmp/powerlevel9k-test
|
|
|
|
FOLDER=/tmp/powerlevel9k-test
|
|
|
|
mkdir $FOLDER
|
|
|
|
mkdir $FOLDER
|
|
|
|
cd $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 -
|
|
|
|
cd -
|
|
|
|
rm -fr $FOLDER
|
|
|
|
rm -fr $FOLDER
|
|
|
|
unset FOLDER
|
|
|
|
unset FOLDER
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_FOLDER_ICON
|
|
|
|
unset POWERLEVEL9K_FOLDER_ICON
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function testChangingDirPathSeparator() {
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_PATH_SEPARATOR='xXx'
|
|
|
|
|
|
|
|
local FOLDER="/tmp/powerlevel9k-test/1/2"
|
|
|
|
|
|
|
|
mkdir -p $FOLDER
|
|
|
|
|
|
|
|
cd $FOLDER
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{blue} %F{black}xXxtmpxXxpowerlevel9k-testxXx1xXx2 %k%F{blue}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
unset FOLDER
|
|
|
|
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_PATH_SEPARATOR
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function testOmittingFirstCharacterWorks() {
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER=true
|
|
|
|
|
|
|
|
POWERLEVEL9K_FOLDER_ICON='folder-icon'
|
|
|
|
|
|
|
|
cd /tmp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{blue} %F{black%}folder-icon%f %F{black}tmp %k%F{blue}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_FOLDER_ICON
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function testOmittingFirstCharacterWorksWithChangingPathSeparator() {
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER=true
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_PATH_SEPARATOR='xXx'
|
|
|
|
|
|
|
|
POWERLEVEL9K_FOLDER_ICON='folder-icon'
|
|
|
|
|
|
|
|
mkdir -p /tmp/powerlevel9k-test/1/2
|
|
|
|
|
|
|
|
cd /tmp/powerlevel9k-test/1/2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{blue} %F{black%}folder-icon%f %F{black}tmpxXxpowerlevel9k-testxXx1xXx2 %k%F{blue}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_FOLDER_ICON
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_PATH_SEPARATOR
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# This test makes it obvious that combining a truncation strategy
|
|
|
|
|
|
|
|
# that cuts off folders from the left and omitting the the first
|
|
|
|
|
|
|
|
# character does not make much sense. The truncation strategy
|
|
|
|
|
|
|
|
# comes first, prints an ellipsis and that gets then cut off by
|
|
|
|
|
|
|
|
# POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER..
|
|
|
|
|
|
|
|
# But it does more sense in combination with other truncation
|
|
|
|
|
|
|
|
# strategies.
|
|
|
|
|
|
|
|
function testOmittingFirstCharacterWorksWithChangingPathSeparatorAndDefaultTruncation() {
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER=true
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_PATH_SEPARATOR='xXx'
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_folders'
|
|
|
|
|
|
|
|
mkdir -p /tmp/powerlevel9k-test/1/2
|
|
|
|
|
|
|
|
cd /tmp/powerlevel9k-test/1/2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{blue} %F{black}xXx1xXx2 %k%F{blue}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_PATH_SEPARATOR
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function testOmittingFirstCharacterWorksWithChangingPathSeparatorAndMiddleTruncation() {
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER=true
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_PATH_SEPARATOR='xXx'
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_middle'
|
|
|
|
|
|
|
|
mkdir -p /tmp/powerlevel9k-test/1/2
|
|
|
|
|
|
|
|
cd /tmp/powerlevel9k-test/1/2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{blue} %F{black}tmpxXxpo…stxXx1xXx2 %k%F{blue}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_PATH_SEPARATOR
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function testOmittingFirstCharacterWorksWithChangingPathSeparatorAndRightTruncation() {
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER=true
|
|
|
|
|
|
|
|
POWERLEVEL9K_DIR_PATH_SEPARATOR='xXx'
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
|
|
|
|
|
|
|
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_from_right'
|
|
|
|
|
|
|
|
mkdir -p /tmp/powerlevel9k-test/1/2
|
|
|
|
|
|
|
|
cd /tmp/powerlevel9k-test/1/2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{blue} %F{black}tmpxXxpo…xXx1xXx2 %k%F{blue}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cd -
|
|
|
|
|
|
|
|
rm -fr /tmp/powerlevel9k-test
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_PATH_SEPARATOR
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
source shunit2/source/2.1/src/shunit2
|
|
|
|
source shunit2/source/2.1/src/shunit2
|
|
|
|