Merge pull request #1065 from dritter/protect_locale

Protect locale
This commit is contained in:
Dominik Ritter 2018-11-17 01:39:38 +01:00 committed by GitHub
commit 724781e896
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 12 deletions

View file

@ -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.

View file

@ -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