summaryrefslogtreecommitdiff
path: root/test/functions
diff options
context:
space:
mode:
Diffstat (limited to 'test/functions')
-rwxr-xr-xtest/functions/colors.spec2
-rwxr-xr-xtest/functions/icons.spec145
-rwxr-xr-xtest/functions/utilities.spec2
3 files changed, 130 insertions, 19 deletions
diff --git a/test/functions/colors.spec b/test/functions/colors.spec
index 61a40087..bb06b719 100755
--- a/test/functions/colors.spec
+++ b/test/functions/colors.spec
@@ -39,4 +39,4 @@ function testIsSameColorDoesNotYieldNotEqualColorsTruthy() {
}
-source shunit2/source/2.1/src/shunit2
+source shunit2/shunit2
diff --git a/test/functions/icons.spec b/test/functions/icons.spec
index c8d88644..ec0cb1fa 100755
--- a/test/functions/icons.spec
+++ b/test/functions/icons.spec
@@ -10,21 +10,15 @@ function setUp() {
_OLD_LC_CTYPE="${LC_CTYPE}"
# Reset actual LC_CTYPE
unset LC_CTYPE
-
- # Store old P9K mode
- _OLD_P9K_MODE="${POWERLEVEL9K_MODE}"
}
function tearDown() {
# Restore LC_CTYPE
LC_CTYPE="${_OLD_LC_CTYPE}"
-
- # Restore old P9K mode
- POWERLEVEL9K_MODE="${_OLD_P9K_MODE}"
}
function testLcCtypeIsSetCorrectlyInDefaultMode() {
- POWERLEVEL9K_MODE="default"
+ local POWERLEVEL9K_MODE="default"
# Load Powerlevel9k
source functions/icons.zsh
@@ -32,7 +26,7 @@ function testLcCtypeIsSetCorrectlyInDefaultMode() {
}
function testLcCtypeIsSetCorrectlyInAwesomePatchedMode() {
- POWERLEVEL9K_MODE="awesome-patched"
+ local POWERLEVEL9K_MODE="awesome-patched"
# Load Powerlevel9k
source functions/icons.zsh
@@ -40,7 +34,7 @@ function testLcCtypeIsSetCorrectlyInAwesomePatchedMode() {
}
function testLcCtypeIsSetCorrectlyInAwesomeFontconfigMode() {
- POWERLEVEL9K_MODE="awesome-fontconfig"
+ local POWERLEVEL9K_MODE="awesome-fontconfig"
# Load Powerlevel9k
source functions/icons.zsh
@@ -48,7 +42,7 @@ function testLcCtypeIsSetCorrectlyInAwesomeFontconfigMode() {
}
function testLcCtypeIsSetCorrectlyInNerdfontFontconfigMode() {
- POWERLEVEL9K_MODE="nerdfont-fontconfig"
+ local POWERLEVEL9K_MODE="nerdfont-fontconfig"
# Load Powerlevel9k
source functions/icons.zsh
@@ -56,7 +50,7 @@ function testLcCtypeIsSetCorrectlyInNerdfontFontconfigMode() {
}
function testLcCtypeIsSetCorrectlyInFlatMode() {
- POWERLEVEL9K_MODE="flat"
+ local POWERLEVEL9K_MODE="flat"
# Load Powerlevel9k
source functions/icons.zsh
@@ -64,7 +58,7 @@ function testLcCtypeIsSetCorrectlyInFlatMode() {
}
function testLcCtypeIsSetCorrectlyInCompatibleMode() {
- POWERLEVEL9K_MODE="compatible"
+ local POWERLEVEL9K_MODE="compatible"
# Load Powerlevel9k
source functions/icons.zsh
@@ -76,7 +70,7 @@ function testLcCtypeIsSetCorrectlyInCompatibleMode() {
function testAllIconsAreDefinedLikeInDefaultMode() {
# Always compare against this mode
local _P9K_TEST_MODE="default"
- POWERLEVEL9K_MODE="${_P9K_TEST_MODE}"
+ 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
@@ -121,6 +115,15 @@ function testAllIconsAreDefinedLikeInDefaultMode() {
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
@@ -148,7 +151,7 @@ function testAllIconsAreDefinedLikeInDefaultMode() {
function testAllIconsAreDefinedLikeInAwesomePatchedMode() {
# Always compare against this mode
local _P9K_TEST_MODE="awesome-patched"
- POWERLEVEL9K_MODE="$_P9K_TEST_MODE"
+ 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
@@ -193,6 +196,15 @@ function testAllIconsAreDefinedLikeInAwesomePatchedMode() {
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
@@ -220,7 +232,7 @@ function testAllIconsAreDefinedLikeInAwesomePatchedMode() {
function testAllIconsAreDefinedLikeInAwesomeFontconfigMode() {
# Always compare against this mode
local _P9K_TEST_MODE="awesome-fontconfig"
- POWERLEVEL9K_MODE="$_P9K_TEST_MODE"
+ 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
@@ -265,6 +277,15 @@ function testAllIconsAreDefinedLikeInAwesomeFontconfigMode() {
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
@@ -292,7 +313,7 @@ function testAllIconsAreDefinedLikeInAwesomeFontconfigMode() {
function testAllIconsAreDefinedLikeInNerdfontFontconfigMode() {
# Always compare against this mode
local _P9K_TEST_MODE="nerdfont-fontconfig"
- POWERLEVEL9K_MODE="$_P9K_TEST_MODE"
+ 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
@@ -337,6 +358,96 @@ function testAllIconsAreDefinedLikeInNerdfontFontconfigMode() {
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
@@ -359,4 +470,4 @@ function testAllIconsAreDefinedLikeInNerdfontFontconfigMode() {
unset _ICONS_UNDER_TEST
}
-source shunit2/source/2.1/src/shunit2 \ No newline at end of file
+source shunit2/shunit2 \ No newline at end of file
diff --git a/test/functions/utilities.spec b/test/functions/utilities.spec
index a9bd67e3..b727c1f6 100755
--- a/test/functions/utilities.spec
+++ b/test/functions/utilities.spec
@@ -106,4 +106,4 @@ function testSegmentShouldNotBeJoinedIfPredecessingSegmentIsNotJoinedButConditio
unset segments
}
-source shunit2/source/2.1/src/shunit2
+source shunit2/shunit2