aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfunctions/icons.zsh2
-rwxr-xr-xtest/functions/icons.spec30
2 files changed, 20 insertions, 12 deletions
diff --git a/functions/icons.zsh b/functions/icons.zsh
index d8661e6f..28cbb709 100755
--- a/functions/icons.zsh
+++ b/functions/icons.zsh
@@ -13,6 +13,7 @@
# Initialize the icon list according to the user's `POWERLEVEL9K_MODE`.
typeset -gAH icons
+() { # add scope to protect the users locale and not overwrite LC_CTYPE!
case $POWERLEVEL9K_MODE in
'flat'|'awesome-patched')
# Awesome-Patched Font required! See:
@@ -528,6 +529,7 @@ esac
if [[ "$POWERLEVEL9K_HIDE_BRANCH_ICON" == true ]]; then
icons[VCS_BRANCH_ICON]=''
fi
+}
# Safety function for printing icons
# Prints the named icon, or if that icon is undefined, the string name.
diff --git a/test/functions/icons.spec b/test/functions/icons.spec
index ec0cb1fa..8083c095 100755
--- a/test/functions/icons.spec
+++ b/test/functions/icons.spec
@@ -17,52 +17,58 @@ function tearDown() {
LC_CTYPE="${_OLD_LC_CTYPE}"
}
-function testLcCtypeIsSetCorrectlyInDefaultMode() {
+function testLcCtypeIsNotOverwrittenInDefaultMode() {
local POWERLEVEL9K_MODE="default"
+ local LC_CTYPE="my-locale"
# Load Powerlevel9k
source functions/icons.zsh
- assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
+ assertEquals 'my-locale' "${LC_CTYPE}"
}
-function testLcCtypeIsSetCorrectlyInAwesomePatchedMode() {
+function testLcCtypeIsNotOverwrittenInAwesomePatchedMode() {
local POWERLEVEL9K_MODE="awesome-patched"
+ local LC_CTYPE="my-locale"
# Load Powerlevel9k
source functions/icons.zsh
- assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
+ assertEquals 'my-locale' "${LC_CTYPE}"
}
-function testLcCtypeIsSetCorrectlyInAwesomeFontconfigMode() {
+function testLcCtypeIsNotOverwrittenInAwesomeFontconfigMode() {
local POWERLEVEL9K_MODE="awesome-fontconfig"
+ local LC_CTYPE="my-locale"
# Load Powerlevel9k
source functions/icons.zsh
- assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
+ assertEquals 'my-locale' "${LC_CTYPE}"
}
-function testLcCtypeIsSetCorrectlyInNerdfontFontconfigMode() {
+function testLcCtypeIsNotOverwrittenInNerdfontFontconfigMode() {
local POWERLEVEL9K_MODE="nerdfont-fontconfig"
+ local LC_CTYPE="my-locale"
# Load Powerlevel9k
source functions/icons.zsh
- assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
+ assertEquals 'my-locale' "${LC_CTYPE}"
}
-function testLcCtypeIsSetCorrectlyInFlatMode() {
+function testLcCtypeIsNotOverwrittenInFlatMode() {
local POWERLEVEL9K_MODE="flat"
+ local LC_CTYPE="my-locale"
# Load Powerlevel9k
source functions/icons.zsh
- assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
+ assertEquals 'my-locale' "${LC_CTYPE}"
}
-function testLcCtypeIsSetCorrectlyInCompatibleMode() {
+function testLcCtypeIsNotOverwrittenInCompatibleMode() {
local POWERLEVEL9K_MODE="compatible"
+ local LC_CTYPE="my-locale"
# Load Powerlevel9k
source functions/icons.zsh
- assertEquals 'en_US.UTF-8' "${LC_CTYPE}"
+ assertEquals 'my-locale' "${LC_CTYPE}"
}
# Go through all icons defined in default mode, and