aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Ritter <dritter03@googlemail.com>2018-11-17 03:39:38 +0300
committerGitHub <noreply@github.com>2018-11-17 03:39:38 +0300
commit724781e89681d2f34bd3760ef710a58a093b5595 (patch)
tree7137e8812529e049ef6ab47f2ec608a9b5cfbaad
parent67fd57721773e8fbcd1da96e374e7116056a86db (diff)
parent4ebb9f92a1b7e27595db6dd9e05981ac6e0d4bbf (diff)
Merge pull request #1065 from dritter/protect_locale
Protect locale
-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