Reactivate test for unset variables

This commit is contained in:
Dominik Ritter 2019-09-03 00:30:07 +02:00
parent 7c5b77b000
commit e0f1caa767
3 changed files with 22 additions and 19 deletions

View File

@ -63,7 +63,7 @@ function p9k::register_icon() {
p9k::expand "$ICON_USER_VARIABLE"
map="${(P)ICON_USER_VARIABLE}"
else # use the icons that are registered by the segment
case ${P9K_MODE} in
case ${P9K_MODE:-} in
'flat'|'awesome-patched') map=$3 ;;
'awesome-fontconfig') map=$4 ;;
'awesome-mapped-fontconfig') map=$5 ;;
@ -122,7 +122,7 @@ function p9k::register_segment() {
__P9K_DATA[${STATEFUL_NAME}_FG]="$(p9k::foreground_color $4)"
fi
p9k::register_icon "${STATEFUL_NAME}" "${5}" "${6}" "${7}" "${8}" "${9}"
p9k::register_icon "${STATEFUL_NAME}" "${5:-}" "${6:-}" "${7:-}" "${8:-}" "${9:-}"
local ICON_COLOR_VARIABLE="P9K_${STATEFUL_NAME}_ICON_COLOR"
if p9k::defined "${ICON_COLOR_VARIABLE}"; then
@ -159,10 +159,10 @@ function p9k::register_segment() {
# Overwrite given bold directive by user defined variable for this segment.
local BOLD_USER_VARIABLE="P9K_${STATEFUL_NAME}_BOLD"
local BOLD="${(P)BOLD_USER_VARIABLE}"
local BOLD="${(P)BOLD_USER_VARIABLE:-}"
[[ -z "${BOLD}" ]] || __P9K_DATA[${STATEFUL_NAME}_BD]=true
local BOLD_ICON_USER_VARIABLE="P9K_${STATEFUL_NAME}_ICON_BOLD"
local BOLD_ICON="${(P)BOLD_ICON_USER_VARIABLE}"
local BOLD_ICON="${(P)BOLD_ICON_USER_VARIABLE:-}"
[[ -z "${BOLD_ICON}" ]] || __P9K_DATA[${STATEFUL_NAME}_ICON_BD]=true
}

View File

@ -58,10 +58,10 @@ function __p9k_left_prompt_segment() {
local content
local SEGMENT_ICON
# Support for bold segment
[[ -n "${4}" ]] && [[ $__P9K_DATA[${STATEFUL_NAME}_BD] == true ]] \
[[ -n "${4}" ]] && [[ ${__P9K_DATA[${STATEFUL_NAME}_BD]:-} == true ]] \
&& content="%B${4}%b" \
|| content="${4}"
[[ -n "${5}" ]] && [[ $__P9K_DATA[${STATEFUL_NAME}_ICON_BD] == true ]] \
[[ -n "${5}" ]] && [[ ${__P9K_DATA[${STATEFUL_NAME}_ICON_BD]:-} == true ]] \
&& SEGMENT_ICON="%B${5}%b" \
|| SEGMENT_ICON="${5}"
@ -92,7 +92,7 @@ function __p9k_left_prompt_segment() {
# custom white space that follows it
local first_symbol=""
local first_ws="$__P9K_DATA[FIRST_WHITESPACE]"
if [[ -n "$P9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL" ]]; then
if [[ -n "${P9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL:-}" ]]; then
first_symbol="%K{${CURRENT_BG}}%F${bg#%K}$P9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL"
fi
@ -235,22 +235,22 @@ function p9k::prepare_segment() {
[[ -n "${2}" ]] && STATEFUL_NAME="${STATEFUL_NAME}_${(U)2}"
# Precompile condition.
if __p9k_segment_should_be_printed "${STATEFUL_NAME}" "${7}" "${6}"; then
if __p9k_segment_should_be_printed "${STATEFUL_NAME}" "${7:-true}" "${6}"; then
local SEGMENT_ICON
if [[ -z "${8}" ]]; then
if [[ -z "${8:-}" ]]; then
SEGMENT_ICON=${__P9K_ICONS[${STATEFUL_NAME}]}
else
# check if it is a named icon
SEGMENT_ICON=${__P9K_ICONS[${8}]}
SEGMENT_ICON=${__P9K_ICONS[${8:-}]}
# otherwise use it literally
[[ -z "${SEGMENT_ICON}" ]] && SEGMENT_ICON=$(echo ${8})
fi
# Background overide
[[ -n "${9}" ]] && __P9K_DATA[${STATEFUL_NAME}_BG]="${9}"
[[ -n "${9:-}" ]] && __P9K_DATA[${STATEFUL_NAME}_BG]="${9}"
# Foreground overide
[[ -n "${10}" ]] && __P9K_DATA[${STATEFUL_NAME}_FG]="${10}"
[[ -n "${10:-}" ]] && __P9K_DATA[${STATEFUL_NAME}_FG]="${10}"
"__p9k_${3}_prompt_segment" "${STATEFUL_NAME}" "${4}" "${5}" "${6}" "${SEGMENT_ICON}"
fi
@ -420,7 +420,7 @@ local NEWLINE=$'\n'
local left
if [[ ${ZLE_RPROMPT_INDENT} -eq 0 ]]; then
if [[ ${ZLE_RPROMPT_INDENT:-} -eq 0 ]]; then
unset ZLE_RPROMPT_INDENT
fi
if [[ "${P9K_PROMPT_ADD_NEWLINE:-}" == true ]]; then

View File

@ -43,14 +43,17 @@ function oneTimeTearDown() {
}
function testUsingUnsetVariables() {
startSkipping # Skip test
local P9K_CUSTOM_WORLD='echo world'
local -a P9K_LEFT_PROMPT_ELEMENTS
local P9K_LEFT_PROMPT_ELEMENTS=(custom_world)
local -a P9K_RIGHT_PROMPT_ELEMENTS
local P9K_RIGHT_PROMPT_ELEMENTS=()
# setopt local_options
# set -u
# __p9k_prepare_prompts
setopt local_options
set -u
local result="$(__p9k_prepare_prompts 2>&1)"
# Stupid: To show tests as "skipped", we need to do an assertion.
assertEquals "false" "true"
assertEquals "" "${result}"
}
function testJoinedSegments() {