abra zsh config 2.0
This commit is contained in:
96
.zprezto/modules/prompt/external/powerlevel9k/test/segments/command_execution_time.spec
vendored
Executable file
96
.zprezto/modules/prompt/external/powerlevel9k/test/segments/command_execution_time.spec
vendored
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/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 testCommandExecutionTimeIsNotShownIfTimeIsBelowThreshold() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world command_execution_time)
|
||||
POWERLEVEL9K_CUSTOM_WORLD='echo world'
|
||||
_P9K_COMMAND_DURATION=2
|
||||
|
||||
assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_CUSTOM_WORLD
|
||||
unset _P9K_COMMAND_DURATION
|
||||
}
|
||||
|
||||
function testCommandExecutionTimeThresholdCouldBeChanged() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(command_execution_time)
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=1
|
||||
_P9K_COMMAND_DURATION=2.03
|
||||
|
||||
assertEquals "%K{red} %F{yellow1%}Dur %f%F{yellow1}2.03 %k%F{red}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset _P9K_COMMAND_DURATION
|
||||
unset POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD
|
||||
}
|
||||
|
||||
function testCommandExecutionTimeThresholdCouldBeSetToZero() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(command_execution_time)
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=0
|
||||
_P9K_COMMAND_DURATION=0.03
|
||||
|
||||
assertEquals "%K{red} %F{yellow1%}Dur %f%F{yellow1}0.03 %k%F{red}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset _P9K_COMMAND_DURATION
|
||||
unset POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD
|
||||
}
|
||||
|
||||
function testCommandExecutionTimePrecisionCouldBeChanged() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(command_execution_time)
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=0
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=4
|
||||
_P9K_COMMAND_DURATION=0.0001
|
||||
|
||||
assertEquals "%K{red} %F{yellow1%}Dur %f%F{yellow1}0.0001 %k%F{red}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset _P9K_COMMAND_DURATION
|
||||
unset POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION
|
||||
unset POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD
|
||||
}
|
||||
|
||||
function testCommandExecutionTimePrecisionCouldBeSetToZero() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(command_execution_time)
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
|
||||
_P9K_COMMAND_DURATION=23.5001
|
||||
|
||||
assertEquals "%K{red} %F{yellow1%}Dur %f%F{yellow1}23 %k%F{red}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset _P9K_COMMAND_DURATION
|
||||
unset POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION
|
||||
}
|
||||
|
||||
function testCommandExecutionTimeIsFormattedHumandReadbleForMinuteLongCommand() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(command_execution_time)
|
||||
_P9K_COMMAND_DURATION=180
|
||||
|
||||
assertEquals "%K{red} %F{yellow1%}Dur %f%F{yellow1}03:00 %k%F{red}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset _P9K_COMMAND_DURATION
|
||||
}
|
||||
|
||||
function testCommandExecutionTimeIsFormattedHumandReadbleForHourLongCommand() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(command_execution_time)
|
||||
_P9K_COMMAND_DURATION=7200
|
||||
|
||||
assertEquals "%K{red} %F{yellow1%}Dur %f%F{yellow1}02:00:00 %k%F{red}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset _P9K_COMMAND_DURATION
|
||||
}
|
||||
|
||||
source shunit2/source/2.1/src/shunit2
|
647
.zprezto/modules/prompt/external/powerlevel9k/test/segments/dir.spec
vendored
Executable file
647
.zprezto/modules/prompt/external/powerlevel9k/test/segments/dir.spec
vendored
Executable file
@@ -0,0 +1,647 @@
|
||||
#!/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
|
||||
|
||||
# Every test should at least use the dir segment
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
}
|
||||
|
||||
function testDirPathAbsoluteWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_ABSOLUTE=true
|
||||
|
||||
cd ~
|
||||
assertEquals "%K{blue} %F{black}/home/travis %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
unset POWERLEVEL9K_DIR_PATH_ABSOLUTE
|
||||
}
|
||||
|
||||
function testTruncateFoldersWorks() {
|
||||
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}…/12345678/123456789 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
function testTruncateFolderWithHomeDirWorks() {
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
|
||||
CURRENT_DIR=$(pwd)
|
||||
|
||||
cd ~
|
||||
FOLDER="powerlevel9k-test-${RANDOM}"
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
# Switch back to home folder as this causes the problem.
|
||||
cd ..
|
||||
|
||||
assertEquals "%K{blue} %F{black}~ %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
rmdir $FOLDER
|
||||
cd ${CURRENT_DIR}
|
||||
|
||||
unset CURRENT_DIR
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
}
|
||||
|
||||
function testTruncateMiddleWorks() {
|
||||
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_STRATEGY
|
||||
}
|
||||
|
||||
function testTruncationFromRightWorks() {
|
||||
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}/tmp/po…/1/12/123/12…/12…/12…/12…/12…/123456789 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
function testTruncateToLastWorks() {
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_to_last"
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/1/12/123/1234/12345/123456/1234567/12345678/123456789
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
|
||||
assertEquals "%K{blue} %F{black}123456789 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
function testTruncateToFirstAndLastWorks() {
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_to_first_and_last"
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/1/12/123/1234/12345/123456/1234567/12345678/123456789
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
|
||||
assertEquals "%K{blue} %F{black}/tmp/powerlevel9k-test/…/…/…/…/…/…/…/12345678/123456789 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
function testTruncateAbsoluteWorks() {
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_absolute"
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/1/12/123/1234/12345/123456/1234567/12345678/123456789
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
|
||||
assertEquals "%K{blue} %F{black}…89 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
function testTruncationFromRightWithEmptyDelimiter() {
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_SHORTEN_DELIMITER=""
|
||||
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}/tmp/po/1/12/123/12/12/12/12/12/123456789 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
unset POWERLEVEL9K_SHORTEN_DELIMITER
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
function testTruncateWithFolderMarkerWorks() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_with_folder_marker"
|
||||
|
||||
local BASEFOLDER=/tmp/powerlevel9k-test
|
||||
local FOLDER=$BASEFOLDER/1/12/123/1234/12345/123456/1234567
|
||||
mkdir -p $FOLDER
|
||||
# Setup folder marker
|
||||
touch $BASEFOLDER/1/12/.shorten_folder_marker
|
||||
cd $FOLDER
|
||||
assertEquals "%K{blue} %F{black}/…/12/123/1234/12345/123456/1234567 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr $BASEFOLDER
|
||||
unset BASEFOLDER
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
}
|
||||
|
||||
function testTruncateWithFolderMarkerWithChangedFolderMarker() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_with_folder_marker"
|
||||
POWERLEVEL9K_SHORTEN_FOLDER_MARKER='.xxx'
|
||||
|
||||
local BASEFOLDER=/tmp/powerlevel9k-test
|
||||
local FOLDER=$BASEFOLDER/1/12/123/1234/12345/123456/1234567
|
||||
mkdir -p $FOLDER
|
||||
# Setup folder marker
|
||||
touch $BASEFOLDER/1/12/.xxx
|
||||
cd $FOLDER
|
||||
assertEquals "%K{blue} %F{black}/…/12/123/1234/12345/123456/1234567 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr $BASEFOLDER
|
||||
unset BASEFOLDER
|
||||
unset FOLDER
|
||||
unset POWERLEVEL9K_SHORTEN_FOLDER_MARKER
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
}
|
||||
|
||||
function testTruncateWithPackageNameWorks() {
|
||||
local p9kFolder=$(pwd)
|
||||
local BASEFOLDER=/tmp/powerlevel9k-test
|
||||
local FOLDER=$BASEFOLDER/1/12/123/1234/12345/123456/1234567/12345678/123456789
|
||||
mkdir -p $FOLDER
|
||||
|
||||
cd /tmp/powerlevel9k-test
|
||||
echo '
|
||||
{
|
||||
"name": "My_Package"
|
||||
}
|
||||
' > package.json
|
||||
# Unfortunately: The main folder must be a git repo..
|
||||
git init &>/dev/null
|
||||
|
||||
# Go back to deeper folder
|
||||
cd "${FOLDER}"
|
||||
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_with_package_name'
|
||||
|
||||
assertEquals "%K{blue} %F{black}My_Package/1/12/123/12…/12…/12…/12…/12…/123456789 %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
# Go back
|
||||
cd $p9kFolder
|
||||
rm -fr $BASEFOLDER
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
}
|
||||
|
||||
function testTruncateWithPackageNameIfRepoIsSymlinkedInsideDeepFolder() {
|
||||
local p9kFolder=$(pwd)
|
||||
local BASEFOLDER=/tmp/powerlevel9k-test
|
||||
local FOLDER=$BASEFOLDER/1/12/123/1234/12345/123456/1234567/12345678/123456789
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
|
||||
# Unfortunately: The main folder must be a git repo..
|
||||
git init &>/dev/null
|
||||
|
||||
echo '
|
||||
{
|
||||
"name": "My_Package"
|
||||
}
|
||||
' > package.json
|
||||
|
||||
# Create a subdir inside the repo
|
||||
mkdir -p asdfasdf/qwerqwer
|
||||
|
||||
cd $BASEFOLDER
|
||||
ln -s ${FOLDER} linked-repo
|
||||
|
||||
# Go to deep folder inside linked repo
|
||||
cd linked-repo/asdfasdf/qwerqwer
|
||||
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_with_package_name'
|
||||
|
||||
assertEquals "%K{blue} %F{black}My_Package/as…/qwerqwer %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
# Go back
|
||||
cd $p9kFolder
|
||||
rm -fr $BASEFOLDER
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
}
|
||||
|
||||
function testTruncateWithPackageNameIfRepoIsSymlinkedInsideGitDir() {
|
||||
local p9kFolder=$(pwd)
|
||||
local BASEFOLDER=/tmp/powerlevel9k-test
|
||||
local FOLDER=$BASEFOLDER/1/12/123/1234/12345/123456/1234567/12345678/123456789
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
|
||||
# Unfortunately: The main folder must be a git repo..
|
||||
git init &>/dev/null
|
||||
|
||||
echo '
|
||||
{
|
||||
"name": "My_Package"
|
||||
}
|
||||
' > package.json
|
||||
|
||||
cd $BASEFOLDER
|
||||
ln -s ${FOLDER} linked-repo
|
||||
|
||||
cd linked-repo/.git/refs/heads
|
||||
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_with_package_name'
|
||||
|
||||
assertEquals "%K{blue} %F{black}My_Package/.g…/re…/heads %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
# Go back
|
||||
cd $p9kFolder
|
||||
rm -fr $BASEFOLDER
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_SHORTEN_STRATEGY
|
||||
unset POWERLEVEL9K_SHORTEN_DIR_LENGTH
|
||||
}
|
||||
|
||||
function testHomeFolderDetectionWorks() {
|
||||
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_HOME_ICON
|
||||
}
|
||||
|
||||
function testHomeSubfolderDetectionWorks() {
|
||||
POWERLEVEL9K_HOME_SUB_ICON='sub-icon'
|
||||
|
||||
FOLDER=~/powerlevel9k-test
|
||||
mkdir $FOLDER
|
||||
cd $FOLDER
|
||||
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_HOME_SUB_ICON
|
||||
}
|
||||
|
||||
function testOtherFolderDetectionWorks() {
|
||||
POWERLEVEL9K_FOLDER_ICON='folder-icon'
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test
|
||||
mkdir $FOLDER
|
||||
cd $FOLDER
|
||||
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_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 testHomeFolderAbbreviation() {
|
||||
local POWERLEVEL9K_HOME_FOLDER_ABBREVIATION
|
||||
local dir=$PWD
|
||||
|
||||
cd ~/
|
||||
# default
|
||||
POWERLEVEL9K_HOME_FOLDER_ABBREVIATION='~'
|
||||
assertEquals "%K{blue} %F{black}~ %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
# substituted
|
||||
POWERLEVEL9K_HOME_FOLDER_ABBREVIATION='qQq'
|
||||
assertEquals "%K{blue} %F{black}qQq %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd /tmp
|
||||
# default
|
||||
POWERLEVEL9K_HOME_FOLDER_ABBREVIATION='~'
|
||||
assertEquals "%K{blue} %F{black}/tmp %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
# substituted
|
||||
POWERLEVEL9K_HOME_FOLDER_ABBREVIATION='qQq'
|
||||
assertEquals "%K{blue} %F{black}/tmp %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd "$dir"
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
function testTruncateToUniqueWorks() {
|
||||
POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER=true
|
||||
POWERLEVEL9K_DIR_PATH_SEPARATOR='xXx'
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY='truncate_to_unique'
|
||||
mkdir -p /tmp/powerlevel9k-test/adam/devl
|
||||
mkdir -p /tmp/powerlevel9k-test/alice/devl
|
||||
mkdir -p /tmp/powerlevel9k-test/alice/docs
|
||||
mkdir -p /tmp/powerlevel9k-test/bob/docs
|
||||
cd /tmp/powerlevel9k-test/alice/devl
|
||||
|
||||
assertEquals "%K{blue} %F{black}txXxpxXxalxXxde %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 testBoldHomeDirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD=true
|
||||
cd ~
|
||||
|
||||
assertEquals "%K{blue} %F{black}%B~%b %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD
|
||||
}
|
||||
|
||||
function testBoldHomeSubdirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD=true
|
||||
mkdir -p ~/powerlevel9k-test
|
||||
cd ~/powerlevel9k-test
|
||||
|
||||
assertEquals "%K{blue} %F{black}~/%Bpowerlevel9k-test%b %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr ~/powerlevel9k-test
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD
|
||||
}
|
||||
|
||||
function testBoldRootDirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD=true
|
||||
cd /
|
||||
|
||||
assertEquals "%K{blue} %F{black}%B/%b %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD
|
||||
}
|
||||
|
||||
function testBoldRootSubdirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD=true
|
||||
cd /tmp
|
||||
|
||||
assertEquals "%K{blue} %F{black}/%Btmp%b %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD
|
||||
}
|
||||
|
||||
function testBoldRootSubSubdirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD=true
|
||||
mkdir -p /tmp/powerlevel9k-test
|
||||
cd /tmp/powerlevel9k-test
|
||||
|
||||
assertEquals "%K{blue} %F{black}/tmp/%Bpowerlevel9k-test%b %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD
|
||||
}
|
||||
|
||||
function testHighlightHomeWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND='red'
|
||||
cd ~
|
||||
|
||||
assertEquals "%K{blue} %F{black}%F{red}~ %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND
|
||||
}
|
||||
|
||||
function testHighlightHomeSubdirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND='red'
|
||||
mkdir -p ~/powerlevel9k-test
|
||||
cd ~/powerlevel9k-test
|
||||
|
||||
assertEquals "%K{blue} %F{black}~/%F{red}powerlevel9k-test %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr ~/powerlevel9k-test
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND
|
||||
}
|
||||
|
||||
function testHighlightRootWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND='red'
|
||||
cd /
|
||||
|
||||
assertEquals "%K{blue} %F{black}%F{red}/ %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND
|
||||
}
|
||||
|
||||
function testHighlightRootSubdirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND='red'
|
||||
cd /tmp
|
||||
|
||||
assertEquals "%K{blue} %F{black}/%F{red}tmp %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND
|
||||
}
|
||||
|
||||
function testHighlightRootSubSubdirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND='red'
|
||||
mkdir /tmp/powerlevel9k-test
|
||||
cd /tmp/powerlevel9k-test
|
||||
|
||||
assertEquals "%K{blue} %F{black}/tmp/%F{red}powerlevel9k-test %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
unset POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND
|
||||
}
|
||||
|
||||
function testDirSeparatorColorHomeSubdirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_SEPARATOR_FOREGROUND='red'
|
||||
mkdir -p ~/powerlevel9k-test
|
||||
cd ~/powerlevel9k-test
|
||||
|
||||
assertEquals "%K{blue} %F{black}~%F{red}/%F{black}powerlevel9k-test %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr ~/powerlevel9k-test
|
||||
unset POWERLEVEL9K_DIR_PATH_SEPARATOR_FOREGROUND
|
||||
}
|
||||
|
||||
function testDirSeparatorColorRootSubSubdirWorks() {
|
||||
POWERLEVEL9K_DIR_PATH_SEPARATOR_FOREGROUND='red'
|
||||
mkdir -p /tmp/powerlevel9k-test
|
||||
cd /tmp/powerlevel9k-test
|
||||
|
||||
assertEquals "%K{blue} %F{black}%F{red}/%F{black}tmp%F{red}/%F{black}powerlevel9k-test %k%F{blue}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
unset POWERLEVEL9K_DIR_PATH_SEPARATOR_FOREGROUND
|
||||
}
|
||||
|
||||
source shunit2/source/2.1/src/shunit2
|
86
.zprezto/modules/prompt/external/powerlevel9k/test/segments/go_version.spec
vendored
Executable file
86
.zprezto/modules/prompt/external/powerlevel9k/test/segments/go_version.spec
vendored
Executable file
@@ -0,0 +1,86 @@
|
||||
#!/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() {
|
||||
case "$1" in
|
||||
'version')
|
||||
echo 'go version go1.5.3 darwin/amd64'
|
||||
;;
|
||||
'env')
|
||||
echo "$HOME/go"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function mockGoEmptyGopath() {
|
||||
case "$1" in
|
||||
'version')
|
||||
echo 'go version go1.5.3 darwin/amd64'
|
||||
;;
|
||||
'env')
|
||||
echo ""
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function testGo() {
|
||||
alias go=mockGo
|
||||
POWERLEVEL9K_GO_ICON=""
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(go_version)
|
||||
|
||||
PWD="$HOME/go/src/github.com/bhilburn/powerlevel9k"
|
||||
|
||||
assertEquals "%K{green} %F{grey93%} %f%F{grey93}go1.5.3 %k%F{green}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_GO_ICON
|
||||
unset PWD
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unalias go
|
||||
}
|
||||
|
||||
function testGoSegmentPrintsNothingIfEmptyGopath() {
|
||||
alias go=mockGoEmptyGopath
|
||||
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
|
||||
|
||||
}
|
||||
|
||||
function testGoSegmentPrintsNothingIfNotInGopath() {
|
||||
alias go=mockGo
|
||||
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
|
||||
}
|
||||
|
||||
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
|
98
.zprezto/modules/prompt/external/powerlevel9k/test/segments/kubecontext.spec
vendored
Executable file
98
.zprezto/modules/prompt/external/powerlevel9k/test/segments/kubecontext.spec
vendored
Executable file
@@ -0,0 +1,98 @@
|
||||
#!/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 mockKubectl() {
|
||||
case "$1" in
|
||||
'version')
|
||||
echo 'non-empty text'
|
||||
;;
|
||||
'config')
|
||||
case "$2" in
|
||||
'view')
|
||||
case "$3" in
|
||||
'-o=jsonpath={.current-context}')
|
||||
echo 'minikube'
|
||||
;;
|
||||
'-o=jsonpath={.contexts'*)
|
||||
echo ''
|
||||
;;
|
||||
*)
|
||||
echo "Mock value missed"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function mockKubectlOtherNamespace() {
|
||||
case "$1" in
|
||||
'version')
|
||||
echo 'non-empty text'
|
||||
;;
|
||||
'config')
|
||||
case "$2" in
|
||||
'view')
|
||||
case "$3" in
|
||||
# Get Current Context
|
||||
'-o=jsonpath={.current-context}')
|
||||
echo 'minikube'
|
||||
;;
|
||||
# Get current namespace
|
||||
'-o=jsonpath={.contexts'*)
|
||||
echo 'kube-system'
|
||||
;;
|
||||
*)
|
||||
echo "Mock value missed"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function testKubeContext() {
|
||||
alias kubectl=mockKubectl
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(kubecontext)
|
||||
|
||||
assertEquals "%K{magenta} %F{white%}⎈ %f%F{white}minikube/default %k%F{magenta}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unalias kubectl
|
||||
}
|
||||
function testKubeContextOtherNamespace() {
|
||||
alias kubectl=mockKubectlOtherNamespace
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(kubecontext)
|
||||
|
||||
assertEquals "%K{magenta} %F{white%}⎈ %f%F{white}minikube/kube-system %k%F{magenta}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unalias kubectl
|
||||
}
|
||||
function testKubeContextPrintsNothingIfKubectlNotAvailable() {
|
||||
alias kubectl=noKubectl
|
||||
POWERLEVEL9K_CUSTOM_WORLD='echo world'
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world kubecontext)
|
||||
|
||||
assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_CUSTOM_WORLD
|
||||
unalias kubectl
|
||||
}
|
||||
|
||||
source shunit2/source/2.1/src/shunit2
|
69
.zprezto/modules/prompt/external/powerlevel9k/test/segments/laravel_version.spec
vendored
Executable file
69
.zprezto/modules/prompt/external/powerlevel9k/test/segments/laravel_version.spec
vendored
Executable file
@@ -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
|
50
.zprezto/modules/prompt/external/powerlevel9k/test/segments/rust_version.spec
vendored
Executable file
50
.zprezto/modules/prompt/external/powerlevel9k/test/segments/rust_version.spec
vendored
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/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
|
||||
|
||||
TEST_BASE_FOLDER=/tmp/powerlevel9k-test
|
||||
RUST_TEST_FOLDER="${TEST_BASE_FOLDER}/rust-test"
|
||||
|
||||
function setUp() {
|
||||
OLDPATH="${PATH}"
|
||||
mkdir -p "${RUST_TEST_FOLDER}"
|
||||
PATH="${RUST_TEST_FOLDER}:${PATH}"
|
||||
|
||||
export TERM="xterm-256color"
|
||||
# Load Powerlevel9k
|
||||
source powerlevel9k.zsh-theme
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
PATH="${OLDPATH}"
|
||||
rm -fr "${TEST_BASE_FOLDER}"
|
||||
}
|
||||
|
||||
function mockRust() {
|
||||
echo "#!/bin/sh\n\necho 'rustc 0.4.1a-alpha'" > "${RUST_TEST_FOLDER}/rustc"
|
||||
chmod +x "${RUST_TEST_FOLDER}/rustc"
|
||||
}
|
||||
|
||||
function testRust() {
|
||||
mockRust
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(rust_version)
|
||||
|
||||
assertEquals "%K{208} %F{black%}Rust %f%F{black}0.4.1a-alpha %k%F{darkorange}%f " "$(build_left_prompt)"
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
}
|
||||
|
||||
function testRustPrintsNothingIfRustIsNotAvailable() {
|
||||
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
|
||||
}
|
||||
|
||||
source shunit2/source/2.1/src/shunit2
|
161
.zprezto/modules/prompt/external/powerlevel9k/test/segments/vcs.spec
vendored
Executable file
161
.zprezto/modules/prompt/external/powerlevel9k/test/segments/vcs.spec
vendored
Executable file
@@ -0,0 +1,161 @@
|
||||
#!/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 testColorOverridingForCleanStateWorks() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs)
|
||||
POWERLEVEL9K_VCS_CLEAN_FOREGROUND='cyan'
|
||||
POWERLEVEL9K_VCS_CLEAN_BACKGROUND='white'
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/vcs-test
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
git init 1>/dev/null
|
||||
|
||||
assertEquals "%K{white} %F{cyan} master %k%F{white}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_VCS_CLEAN_FOREGROUND
|
||||
unset POWERLEVEL9K_VCS_CLEAN_BACKGROUND
|
||||
}
|
||||
|
||||
function testColorOverridingForModifiedStateWorks() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs)
|
||||
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND='red'
|
||||
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='yellow'
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/vcs-test
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
git init 1>/dev/null
|
||||
git config user.email "test@powerlevel9k.theme"
|
||||
git config user.name "Testing Tester"
|
||||
touch testfile
|
||||
git add testfile
|
||||
git commit -m "test" 1>/dev/null
|
||||
echo "test" > testfile
|
||||
|
||||
assertEquals "%K{yellow} %F{red} master ● %k%F{yellow}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_VCS_MODIFIED_FOREGROUND
|
||||
unset POWERLEVEL9K_VCS_MODIFIED_BACKGROUND
|
||||
}
|
||||
|
||||
function testColorOverridingForUntrackedStateWorks() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs)
|
||||
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND='cyan'
|
||||
POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='yellow'
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/vcs-test
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
git init 1>/dev/null
|
||||
touch testfile
|
||||
|
||||
assertEquals "%K{yellow} %F{cyan} master ? %k%F{yellow}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND
|
||||
unset POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND
|
||||
}
|
||||
|
||||
function testBranchNameTruncatingShortenLength() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs)
|
||||
POWERLEVEL9K_VCS_SHORTEN_LENGTH=6
|
||||
POWERLEVEL9K_VCS_SHORTEN_MIN_LENGTH=3
|
||||
POWERLEVEL9K_VCS_SHORTEN_STRATEGY="truncate_from_right"
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/vcs-test
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
git init 1>/dev/null
|
||||
touch testfile
|
||||
|
||||
assertEquals "%K{green} %F{black} master ? %k%F{green}%f " "$(build_left_prompt)"
|
||||
|
||||
POWERLEVEL9K_VCS_SHORTEN_LENGTH=3
|
||||
assertEquals "%K{green} %F{black} mas… ? %k%F{green}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_LENGTH
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_MIN_LENGTH
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
function testBranchNameTruncatingMinLength() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs)
|
||||
POWERLEVEL9K_VCS_SHORTEN_LENGTH=3
|
||||
POWERLEVEL9K_VCS_SHORTEN_MIN_LENGTH=6
|
||||
POWERLEVEL9K_VCS_SHORTEN_STRATEGY="truncate_from_right"
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/vcs-test
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
git init 1>/dev/null
|
||||
touch testfile
|
||||
|
||||
assertEquals "%K{green} %F{black} master ? %k%F{green}%f " "$(build_left_prompt)"
|
||||
|
||||
POWERLEVEL9K_VCS_SHORTEN_MIN_LENGTH=7
|
||||
|
||||
assertEquals "%K{green} %F{black} master ? %k%F{green}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_LENGTH
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_MIN_LENGTH
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
function testBranchNameTruncatingShortenStrategy() {
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs)
|
||||
POWERLEVEL9K_VCS_SHORTEN_LENGTH=3
|
||||
POWERLEVEL9K_VCS_SHORTEN_MIN_LENGTH=3
|
||||
POWERLEVEL9K_VCS_SHORTEN_STRATEGY="truncate_from_right"
|
||||
|
||||
FOLDER=/tmp/powerlevel9k-test/vcs-test
|
||||
mkdir -p $FOLDER
|
||||
cd $FOLDER
|
||||
git init 1>/dev/null
|
||||
touch testfile
|
||||
|
||||
assertEquals "%K{green} %F{black} mas… ? %k%F{green}%f " "$(build_left_prompt)"
|
||||
|
||||
POWERLEVEL9K_VCS_SHORTEN_STRATEGY="truncate_middle"
|
||||
|
||||
assertEquals "%K{green} %F{black} mas…ter ? %k%F{green}%f " "$(build_left_prompt)"
|
||||
|
||||
cd -
|
||||
rm -fr /tmp/powerlevel9k-test
|
||||
|
||||
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_LENGTH
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_MIN_LENGTH
|
||||
unset POWERLEVEL9K_VCS_SHORTEN_STRATEGY
|
||||
}
|
||||
|
||||
source shunit2/source/2.1/src/shunit2
|
Reference in New Issue
Block a user