ohmyzsh
This commit is contained in:
67
zsh/.oh-my-zsh/custom/themes/powerlevel9k/test/functions/colors.spec
Executable file
67
zsh/.oh-my-zsh/custom/themes/powerlevel9k/test/functions/colors.spec
Executable file
@ -0,0 +1,67 @@
|
||||
#!/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() {
|
||||
# Load Powerlevel9k
|
||||
source functions/colors.zsh
|
||||
}
|
||||
|
||||
function testGetColorCodeWithAnsiForegroundColor() {
|
||||
assertEquals '002' "$(getColorCode 'green')"
|
||||
}
|
||||
|
||||
function testGetColorCodeWithAnsiBackgroundColor() {
|
||||
assertEquals '002' "$(getColorCode 'bg-green')"
|
||||
}
|
||||
|
||||
function testGetColorCodeWithNumericalColor() {
|
||||
assertEquals '002' "$(getColorCode '002')"
|
||||
}
|
||||
|
||||
function testGetColorCodeWithNoneColor() {
|
||||
assertEquals 'none' "$(getColorCode 'NONE')"
|
||||
}
|
||||
|
||||
function testIsSameColorComparesAnsiForegroundAndNumericalColorCorrectly() {
|
||||
assertTrue "isSameColor 'green' '002'"
|
||||
}
|
||||
|
||||
function testIsSameColorComparesAnsiBackgroundAndNumericalColorCorrectly() {
|
||||
assertTrue "isSameColor 'bg-green' '002'"
|
||||
}
|
||||
|
||||
function testIsSameColorComparesShortCodesCorrectly() {
|
||||
assertTrue "isSameColor '002' '2'"
|
||||
}
|
||||
|
||||
function testIsSameColorDoesNotYieldNotEqualColorsTruthy() {
|
||||
assertFalse "isSameColor 'green' '003'"
|
||||
}
|
||||
|
||||
function testIsSameColorHandlesNoneCorrectly() {
|
||||
assertTrue "isSameColor 'none' 'NOnE'"
|
||||
}
|
||||
|
||||
function testIsSameColorCompareTwoNoneColorsCorrectly() {
|
||||
assertTrue "isSameColor 'none' 'none'"
|
||||
}
|
||||
|
||||
function testIsSameColorComparesColorWithNoneCorrectly() {
|
||||
assertFalse "isSameColor 'green' 'none'"
|
||||
}
|
||||
|
||||
function testBrightColorsWork() {
|
||||
# We had some code in the past that equalized bright colors
|
||||
# with normal ones. This code is now gone, and this test should
|
||||
# ensure that all input channels for bright colors are handled
|
||||
# correctly.
|
||||
assertTrue "isSameColor 'cyan' '006'"
|
||||
assertEquals '006' "$(getColorCode 'cyan')"
|
||||
assertEquals '006' "$(getColor 'cyan')"
|
||||
}
|
||||
|
||||
source shunit2/shunit2
|
479
zsh/.oh-my-zsh/custom/themes/powerlevel9k/test/functions/icons.spec
Executable file
479
zsh/.oh-my-zsh/custom/themes/powerlevel9k/test/functions/icons.spec
Executable file
@ -0,0 +1,479 @@
|
||||
#!/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() {
|
||||
# Store old value for LC_CTYPE
|
||||
_OLD_LC_CTYPE="${LC_CTYPE}"
|
||||
# Reset actual LC_CTYPE
|
||||
unset LC_CTYPE
|
||||
}
|
||||
|
||||
function tearDown() {
|
||||
# Restore LC_CTYPE
|
||||
LC_CTYPE="${_OLD_LC_CTYPE}"
|
||||
}
|
||||
|
||||
function testLcCtypeIsNotOverwrittenInDefaultMode() {
|
||||
local POWERLEVEL9K_MODE="default"
|
||||
local LC_CTYPE="my-locale"
|
||||
# Load Powerlevel9k
|
||||
source functions/icons.zsh
|
||||
|
||||
assertEquals 'my-locale' "${LC_CTYPE}"
|
||||
}
|
||||
|
||||
function testLcCtypeIsNotOverwrittenInAwesomePatchedMode() {
|
||||
local POWERLEVEL9K_MODE="awesome-patched"
|
||||
local LC_CTYPE="my-locale"
|
||||
# Load Powerlevel9k
|
||||
source functions/icons.zsh
|
||||
|
||||
assertEquals 'my-locale' "${LC_CTYPE}"
|
||||
}
|
||||
|
||||
function testLcCtypeIsNotOverwrittenInAwesomeFontconfigMode() {
|
||||
local POWERLEVEL9K_MODE="awesome-fontconfig"
|
||||
local LC_CTYPE="my-locale"
|
||||
# Load Powerlevel9k
|
||||
source functions/icons.zsh
|
||||
|
||||
assertEquals 'my-locale' "${LC_CTYPE}"
|
||||
}
|
||||
|
||||
function testLcCtypeIsNotOverwrittenInNerdfontFontconfigMode() {
|
||||
local POWERLEVEL9K_MODE="nerdfont-fontconfig"
|
||||
local LC_CTYPE="my-locale"
|
||||
# Load Powerlevel9k
|
||||
source functions/icons.zsh
|
||||
|
||||
assertEquals 'my-locale' "${LC_CTYPE}"
|
||||
}
|
||||
|
||||
function testLcCtypeIsNotOverwrittenInFlatMode() {
|
||||
local POWERLEVEL9K_MODE="flat"
|
||||
local LC_CTYPE="my-locale"
|
||||
# Load Powerlevel9k
|
||||
source functions/icons.zsh
|
||||
|
||||
assertEquals 'my-locale' "${LC_CTYPE}"
|
||||
}
|
||||
|
||||
function testLcCtypeIsNotOverwrittenInCompatibleMode() {
|
||||
local POWERLEVEL9K_MODE="compatible"
|
||||
local LC_CTYPE="my-locale"
|
||||
# Load Powerlevel9k
|
||||
source functions/icons.zsh
|
||||
|
||||
assertEquals 'my-locale' "${LC_CTYPE}"
|
||||
}
|
||||
|
||||
# Go through all icons defined in default mode, and
|
||||
# check if all of them are defined in the other modes.
|
||||
function testAllIconsAreDefinedLikeInDefaultMode() {
|
||||
# Always compare against this mode
|
||||
local _P9K_TEST_MODE="default"
|
||||
local POWERLEVEL9K_MODE="${_P9K_TEST_MODE}"
|
||||
source functions/icons.zsh
|
||||
# _ICONS_UNDER_TEST is an array of just the keys of $icons.
|
||||
# We later check via (r) "subscript" flag that our key
|
||||
# is in the values of our flat array.
|
||||
typeset -ah _ICONS_UNDER_TEST
|
||||
_ICONS_UNDER_TEST=(${(k)icons[@]})
|
||||
|
||||
# Switch to "awesome-patched" mode
|
||||
POWERLEVEL9K_MODE="awesome-patched"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
# Iterate over all keys found in the _ICONS_UNDER_TEST
|
||||
# array and compare it with the icons array of the
|
||||
# current POWERLEVEL9K_MODE.
|
||||
# Use parameter expansion, to directly check if the
|
||||
# key exists in the flat current array of keys. That
|
||||
# is quite complicated, but there seems no easy way
|
||||
# to check the mere existance of a key in an array.
|
||||
# The usual way would always return the value, so that
|
||||
# would do the wrong thing as we have some (on purpose)
|
||||
# empty values.
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "awesome-fontconfig" mode
|
||||
POWERLEVEL9K_MODE="awesome-fontconfig"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "nerdfont-fontconfig" mode
|
||||
POWERLEVEL9K_MODE="nerdfont-fontconfig"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "nerdfont-complete" mode
|
||||
POWERLEVEL9K_MODE="nerdfont-complete"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "flat" mode
|
||||
POWERLEVEL9K_MODE="flat"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "compatible" mode
|
||||
POWERLEVEL9K_MODE="compatible"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
unset current_icons
|
||||
unset _ICONS_UNDER_TEST
|
||||
}
|
||||
|
||||
# Go through all icons defined in awesome-patched mode, and
|
||||
# check if all of them are defined in the other modes.
|
||||
function testAllIconsAreDefinedLikeInAwesomePatchedMode() {
|
||||
# Always compare against this mode
|
||||
local _P9K_TEST_MODE="awesome-patched"
|
||||
local POWERLEVEL9K_MODE="$_P9K_TEST_MODE"
|
||||
source functions/icons.zsh
|
||||
# _ICONS_UNDER_TEST is an array of just the keys of $icons.
|
||||
# We later check via (r) "subscript" flag that our key
|
||||
# is in the values of our flat array.
|
||||
typeset -ah _ICONS_UNDER_TEST
|
||||
_ICONS_UNDER_TEST=(${(k)icons[@]})
|
||||
|
||||
# Switch to "default" mode
|
||||
POWERLEVEL9K_MODE="default"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
# Iterate over all keys found in the _ICONS_UNDER_TEST
|
||||
# array and compare it with the icons array of the
|
||||
# current POWERLEVEL9K_MODE.
|
||||
# Use parameter expansion, to directly check if the
|
||||
# key exists in the flat current array of keys. That
|
||||
# is quite complicated, but there seems no easy way
|
||||
# to check the mere existance of a key in an array.
|
||||
# The usual way would always return the value, so that
|
||||
# would do the wrong thing as we have some (on purpose)
|
||||
# empty values.
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "awesome-fontconfig" mode
|
||||
POWERLEVEL9K_MODE="awesome-fontconfig"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "nerdfont-fontconfig" mode
|
||||
POWERLEVEL9K_MODE="nerdfont-fontconfig"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "nerdfont-complete" mode
|
||||
POWERLEVEL9K_MODE="nerdfont-complete"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "flat" mode
|
||||
POWERLEVEL9K_MODE="flat"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "compatible" mode
|
||||
POWERLEVEL9K_MODE="compatible"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
unset current_icons
|
||||
unset _ICONS_UNDER_TEST
|
||||
}
|
||||
|
||||
# Go through all icons defined in awesome-fontconfig mode, and
|
||||
# check if all of them are defined in the other modes.
|
||||
function testAllIconsAreDefinedLikeInAwesomeFontconfigMode() {
|
||||
# Always compare against this mode
|
||||
local _P9K_TEST_MODE="awesome-fontconfig"
|
||||
local POWERLEVEL9K_MODE="$_P9K_TEST_MODE"
|
||||
source functions/icons.zsh
|
||||
# _ICONS_UNDER_TEST is an array of just the keys of $icons.
|
||||
# We later check via (r) "subscript" flag that our key
|
||||
# is in the values of our flat array.
|
||||
typeset -ah _ICONS_UNDER_TEST
|
||||
_ICONS_UNDER_TEST=(${(k)icons[@]})
|
||||
|
||||
# Switch to "default" mode
|
||||
POWERLEVEL9K_MODE="default"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
# Iterate over all keys found in the _ICONS_UNDER_TEST
|
||||
# array and compare it with the icons array of the
|
||||
# current POWERLEVEL9K_MODE.
|
||||
# Use parameter expansion, to directly check if the
|
||||
# key exists in the flat current array of keys. That
|
||||
# is quite complicated, but there seems no easy way
|
||||
# to check the mere existance of a key in an array.
|
||||
# The usual way would always return the value, so that
|
||||
# would do the wrong thing as we have some (on purpose)
|
||||
# empty values.
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "awesome-patched" mode
|
||||
POWERLEVEL9K_MODE="awesome-patched"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "nerdfont-fontconfig" mode
|
||||
POWERLEVEL9K_MODE="nerdfont-fontconfig"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "nerdfont-complete" mode
|
||||
POWERLEVEL9K_MODE="nerdfont-complete"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "flat" mode
|
||||
POWERLEVEL9K_MODE="flat"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "compatible" mode
|
||||
POWERLEVEL9K_MODE="compatible"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
unset current_icons
|
||||
unset _ICONS_UNDER_TEST
|
||||
}
|
||||
|
||||
# Go through all icons defined in nerdfont-fontconfig mode, and
|
||||
# check if all of them are defined in the other modes.
|
||||
function testAllIconsAreDefinedLikeInNerdfontFontconfigMode() {
|
||||
# Always compare against this mode
|
||||
local _P9K_TEST_MODE="nerdfont-fontconfig"
|
||||
local POWERLEVEL9K_MODE="$_P9K_TEST_MODE"
|
||||
source functions/icons.zsh
|
||||
# _ICONS_UNDER_TEST is an array of just the keys of $icons.
|
||||
# We later check via (r) "subscript" flag that our key
|
||||
# is in the values of our flat array.
|
||||
typeset -ah _ICONS_UNDER_TEST
|
||||
_ICONS_UNDER_TEST=(${(k)icons[@]})
|
||||
|
||||
# Switch to "default" mode
|
||||
POWERLEVEL9K_MODE="default"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
# Iterate over all keys found in the _ICONS_UNDER_TEST
|
||||
# array and compare it with the icons array of the
|
||||
# current POWERLEVEL9K_MODE.
|
||||
# Use parameter expansion, to directly check if the
|
||||
# key exists in the flat current array of keys. That
|
||||
# is quite complicated, but there seems no easy way
|
||||
# to check the mere existance of a key in an array.
|
||||
# The usual way would always return the value, so that
|
||||
# would do the wrong thing as we have some (on purpose)
|
||||
# empty values.
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "awesome-patched" mode
|
||||
POWERLEVEL9K_MODE="awesome-patched"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "awesome-fontconfig" mode
|
||||
POWERLEVEL9K_MODE="awesome-fontconfig"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "nerdfont-complete" mode
|
||||
POWERLEVEL9K_MODE="nerdfont-complete"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "flat" mode
|
||||
POWERLEVEL9K_MODE="flat"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "compatible" mode
|
||||
POWERLEVEL9K_MODE="compatible"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
unset current_icons
|
||||
unset _ICONS_UNDER_TEST
|
||||
}
|
||||
|
||||
# Go through all icons defined in nerdfont-complete mode, and
|
||||
# check if all of them are defined in the other modes.
|
||||
function testAllIconsAreDefinedLikeInNerdfontCompleteMode() {
|
||||
# Always compare against this mode
|
||||
local _P9K_TEST_MODE="nerdfont-complete"
|
||||
local POWERLEVEL9K_MODE="$_P9K_TEST_MODE"
|
||||
source functions/icons.zsh
|
||||
# _ICONS_UNDER_TEST is an array of just the keys of $icons.
|
||||
# We later check via (r) "subscript" flag that our key
|
||||
# is in the values of our flat array.
|
||||
typeset -ah _ICONS_UNDER_TEST
|
||||
_ICONS_UNDER_TEST=(${(k)icons[@]})
|
||||
|
||||
# Switch to "default" mode
|
||||
POWERLEVEL9K_MODE="default"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
# Iterate over all keys found in the _ICONS_UNDER_TEST
|
||||
# array and compare it with the icons array of the
|
||||
# current POWERLEVEL9K_MODE.
|
||||
# Use parameter expansion, to directly check if the
|
||||
# key exists in the flat current array of keys. That
|
||||
# is quite complicated, but there seems no easy way
|
||||
# to check the mere existance of a key in an array.
|
||||
# The usual way would always return the value, so that
|
||||
# would do the wrong thing as we have some (on purpose)
|
||||
# empty values.
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "awesome-patched" mode
|
||||
POWERLEVEL9K_MODE="awesome-patched"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "awesome-fontconfig" mode
|
||||
POWERLEVEL9K_MODE="awesome-fontconfig"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "nerdfont-fontconfig" mode
|
||||
POWERLEVEL9K_MODE="nerdfont-fontconfig"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "flat" mode
|
||||
POWERLEVEL9K_MODE="flat"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
# Switch to "compatible" mode
|
||||
POWERLEVEL9K_MODE="compatible"
|
||||
source functions/icons.zsh
|
||||
typeset -ah current_icons
|
||||
current_icons=(${(k)icons[@]})
|
||||
for key in ${_ICONS_UNDER_TEST}; do
|
||||
assertTrue "The key ${key} does exist in ${_P9K_TEST_MODE} mode, but not in ${POWERLEVEL9K_MODE}!" "(( ${+current_icons[(r)$key]} ))"
|
||||
done
|
||||
|
||||
unset current_icons
|
||||
unset _ICONS_UNDER_TEST
|
||||
}
|
||||
|
||||
source shunit2/shunit2
|
109
zsh/.oh-my-zsh/custom/themes/powerlevel9k/test/functions/utilities.spec
Executable file
109
zsh/.oh-my-zsh/custom/themes/powerlevel9k/test/functions/utilities.spec
Executable file
@ -0,0 +1,109 @@
|
||||
#!/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() {
|
||||
# Load Powerlevel9k
|
||||
source functions/icons.zsh
|
||||
source functions/utilities.zsh
|
||||
}
|
||||
|
||||
function testDefinedFindsDefinedVariable() {
|
||||
my_var='X'
|
||||
|
||||
assertTrue "defined 'my_var'"
|
||||
unset my_var
|
||||
}
|
||||
|
||||
function testDefinedDoesNotFindUndefinedVariable() {
|
||||
assertFalse "defined 'my_var'"
|
||||
}
|
||||
|
||||
function testSetDefaultSetsVariable() {
|
||||
set_default 'my_var' 'x'
|
||||
|
||||
assertEquals 'x' "$my_var"
|
||||
unset my_var
|
||||
}
|
||||
|
||||
function testPrintSizeHumanReadableWithBigNumber() {
|
||||
# Interesting: Currently we can't support numbers bigger than that.
|
||||
assertEquals '0.87E' "$(printSizeHumanReadable 1000000000000000000)"
|
||||
}
|
||||
|
||||
function testPrintSizeHumanReadableWithExabytesAsBase() {
|
||||
assertEquals '9.77Z' "$(printSizeHumanReadable 10000 'E')"
|
||||
}
|
||||
|
||||
function testGetRelevantItem() {
|
||||
typeset -a list
|
||||
list=(a b c)
|
||||
local callback='[[ "$item" == "b" ]] && echo "found"'
|
||||
|
||||
local result=$(getRelevantItem "$list" "$callback")
|
||||
assertEquals 'found' "$result"
|
||||
|
||||
unset list
|
||||
}
|
||||
|
||||
function testGetRelevantItemDoesNotReturnNotFoundItems() {
|
||||
typeset -a list
|
||||
list=(a b c)
|
||||
local callback='[[ "$item" == "d" ]] && echo "found"'
|
||||
|
||||
local result=$(getRelevantItem "$list" "$callback")
|
||||
assertEquals '' ''
|
||||
|
||||
unset list
|
||||
}
|
||||
|
||||
function testSegmentShouldBeJoinedIfDirectPredecessingSegmentIsJoined() {
|
||||
typeset -a segments
|
||||
segments=(a b_joined c_joined)
|
||||
# Look at the third segment
|
||||
local current_index=3
|
||||
local last_element_index=2
|
||||
|
||||
local joined
|
||||
segmentShouldBeJoined $current_index $last_element_index "$segments" && joined=true || joined=false
|
||||
assertTrue "$joined"
|
||||
|
||||
unset segments
|
||||
}
|
||||
|
||||
function testSegmentShouldBeJoinedIfPredecessingSegmentIsJoinedTransitivley() {
|
||||
typeset -a segments
|
||||
segments=(a b_joined c_joined)
|
||||
# Look at the third segment
|
||||
local current_index=3
|
||||
# The last printed segment was the first one,
|
||||
# the second segmend was conditional.
|
||||
local last_element_index=1
|
||||
|
||||
local joined
|
||||
segmentShouldBeJoined $current_index $last_element_index "$segments" && joined=true || joined=false
|
||||
assertTrue "$joined"
|
||||
|
||||
unset segments
|
||||
}
|
||||
|
||||
function testSegmentShouldNotBeJoinedIfPredecessingSegmentIsNotJoinedButConditional() {
|
||||
typeset -a segments
|
||||
segments=(a b_joined c d_joined)
|
||||
# Look at the fourth segment
|
||||
local current_index=4
|
||||
# The last printed segment was the first one,
|
||||
# the second segmend was conditional.
|
||||
local last_element_index=1
|
||||
|
||||
local joined
|
||||
segmentShouldBeJoined $current_index $last_element_index "$segments" && joined=true || joined=false
|
||||
assertFalse "$joined"
|
||||
|
||||
unset segments
|
||||
}
|
||||
|
||||
source shunit2/shunit2
|
Reference in New Issue
Block a user