mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-11-11 00:00:06 +00:00
Merge pull request #446 from dritter/fix_442
Protect special characters in various modes
This commit is contained in:
commit
0132c5dc35
3 changed files with 371 additions and 1 deletions
|
@ -21,9 +21,9 @@ script:
|
||||||
- test/powerlevel9k.spec
|
- test/powerlevel9k.spec
|
||||||
- test/functions/utilities.spec
|
- test/functions/utilities.spec
|
||||||
- test/functions/colors.spec
|
- test/functions/colors.spec
|
||||||
|
- test/functions/icons.spec
|
||||||
- test/segments/command_execution_time.spec
|
- test/segments/command_execution_time.spec
|
||||||
- test/segments/dir.spec
|
- test/segments/dir.spec
|
||||||
- test/segments/rust_version.spec
|
- test/segments/rust_version.spec
|
||||||
- test/segments/go_version.spec
|
- test/segments/go_version.spec
|
||||||
- test/segments/vcs.spec
|
- test/segments/vcs.spec
|
||||||
|
|
||||||
|
|
|
@ -86,6 +86,8 @@ case $POWERLEVEL9K_MODE in
|
||||||
'awesome-fontconfig')
|
'awesome-fontconfig')
|
||||||
# fontconfig with awesome-font required! See
|
# fontconfig with awesome-font required! See
|
||||||
# https://github.com/gabrielelana/awesome-terminal-fonts
|
# https://github.com/gabrielelana/awesome-terminal-fonts
|
||||||
|
# Set the right locale to protect special characters
|
||||||
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
||||||
icons=(
|
icons=(
|
||||||
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
||||||
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
||||||
|
@ -149,6 +151,8 @@ case $POWERLEVEL9K_MODE in
|
||||||
'nerdfont-fontconfig')
|
'nerdfont-fontconfig')
|
||||||
# nerd-font patched (complete) font required! See
|
# nerd-font patched (complete) font required! See
|
||||||
# https://github.com/ryanoasis/nerd-fonts
|
# https://github.com/ryanoasis/nerd-fonts
|
||||||
|
# Set the right locale to protect special characters
|
||||||
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
||||||
icons=(
|
icons=(
|
||||||
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
||||||
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
||||||
|
@ -212,6 +216,8 @@ case $POWERLEVEL9K_MODE in
|
||||||
*)
|
*)
|
||||||
# Powerline-Patched Font required!
|
# Powerline-Patched Font required!
|
||||||
# See https://github.com/Lokaltog/powerline-fonts
|
# See https://github.com/Lokaltog/powerline-fonts
|
||||||
|
# Set the right locale to protect special characters
|
||||||
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
||||||
icons=(
|
icons=(
|
||||||
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
LEFT_SEGMENT_SEPARATOR $'\uE0B0' #
|
||||||
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
RIGHT_SEGMENT_SEPARATOR $'\uE0B2' #
|
||||||
|
@ -277,6 +283,8 @@ esac
|
||||||
# Override the above icon settings with any user-defined variables.
|
# Override the above icon settings with any user-defined variables.
|
||||||
case $POWERLEVEL9K_MODE in
|
case $POWERLEVEL9K_MODE in
|
||||||
'flat')
|
'flat')
|
||||||
|
# Set the right locale to protect special characters
|
||||||
|
local LC_ALL="" LC_CTYPE="en_US.UTF-8"
|
||||||
icons[LEFT_SEGMENT_SEPARATOR]=''
|
icons[LEFT_SEGMENT_SEPARATOR]=''
|
||||||
icons[RIGHT_SEGMENT_SEPARATOR]=''
|
icons[RIGHT_SEGMENT_SEPARATOR]=''
|
||||||
icons[LEFT_SUBSEGMENT_SEPARATOR]='|'
|
icons[LEFT_SUBSEGMENT_SEPARATOR]='|'
|
||||||
|
|
362
test/functions/icons.spec
Executable file
362
test/functions/icons.spec
Executable file
|
@ -0,0 +1,362 @@
|
||||||
|
#!/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
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
# Load Powerlevel9k
|
||||||
|
source functions/icons.zsh
|
||||||
|
|
||||||
|
assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function testLcCtypeIsSetCorrectlyInAwesomePatchedMode() {
|
||||||
|
POWERLEVEL9K_MODE="awesome-patched"
|
||||||
|
# Load Powerlevel9k
|
||||||
|
source functions/icons.zsh
|
||||||
|
|
||||||
|
assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function testLcCtypeIsSetCorrectlyInAwesomeFontconfigMode() {
|
||||||
|
POWERLEVEL9K_MODE="awesome-fontconfig"
|
||||||
|
# Load Powerlevel9k
|
||||||
|
source functions/icons.zsh
|
||||||
|
|
||||||
|
assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function testLcCtypeIsSetCorrectlyInNerdfontFontconfigMode() {
|
||||||
|
POWERLEVEL9K_MODE="nerdfont-fontconfig"
|
||||||
|
# Load Powerlevel9k
|
||||||
|
source functions/icons.zsh
|
||||||
|
|
||||||
|
assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function testLcCtypeIsSetCorrectlyInFlatMode() {
|
||||||
|
POWERLEVEL9K_MODE="flat"
|
||||||
|
# Load Powerlevel9k
|
||||||
|
source functions/icons.zsh
|
||||||
|
|
||||||
|
assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function testLcCtypeIsSetCorrectlyInCompatibleMode() {
|
||||||
|
POWERLEVEL9K_MODE="compatible"
|
||||||
|
# Load Powerlevel9k
|
||||||
|
source functions/icons.zsh
|
||||||
|
|
||||||
|
assertEquals 'en_US.UTF-8' "${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"
|
||||||
|
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 "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"
|
||||||
|
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 "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"
|
||||||
|
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 "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"
|
||||||
|
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 "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/source/2.1/src/shunit2
|
Loading…
Reference in a new issue