1
0
Fork 0
mirror of https://github.com/romkatv/powerlevel10k.git synced 2024-11-24 21:20:07 +00:00
powerlevel10k/test/powerlevel9k.spec

124 lines
3.5 KiB
RPMSpec
Raw Normal View History

#!/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
2016-02-13 16:35:06 +00:00
function setUp() {
2016-02-13 16:41:26 +00:00
export TERM="xterm-256color"
# Load Powerlevel9k
source powerlevel9k.zsh-theme
source functions/*
2017-02-04 07:53:35 +00:00
# Unset mode, so that user settings
# do not interfere with tests
unset POWERLEVEL9K_MODE
}
function testJoinedSegments() {
2018-07-19 20:25:15 +00:00
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir dir_joined)
2017-02-04 07:53:35 +00:00
cd /tmp
2018-08-17 16:53:26 +00:00
assertEquals "%K{004} %F{000}/tmp %K{004}%F{000}%F{000}/tmp %k%F{004}%f " "$(build_left_prompt)"
2017-02-04 07:53:35 +00:00
cd -
}
function testTransitiveJoinedSegments() {
2018-07-19 20:25:15 +00:00
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir root_indicator_joined dir_joined)
2017-02-04 07:53:35 +00:00
cd /tmp
2018-08-17 16:53:26 +00:00
assertEquals "%K{004} %F{000}/tmp %K{004}%F{000}%F{000}/tmp %k%F{004}%f " "$(build_left_prompt)"
2017-02-04 07:53:35 +00:00
cd -
}
function testJoiningWithConditionalSegment() {
2018-07-19 20:25:15 +00:00
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir background_jobs dir_joined)
2017-02-04 07:53:35 +00:00
cd /tmp
2018-08-17 16:53:26 +00:00
assertEquals "%K{004} %F{000}/tmp %K{004}%F{000} %F{000}/tmp %k%F{004}%f " "$(build_left_prompt)"
2017-02-04 07:53:35 +00:00
cd -
}
function testDynamicColoringOfSegmentsWork() {
2018-07-19 20:25:15 +00:00
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
2018-07-19 20:25:15 +00:00
local POWERLEVEL9K_DIR_DEFAULT_BACKGROUND='red'
2017-02-04 07:53:35 +00:00
cd /tmp
2018-08-17 16:53:26 +00:00
assertEquals "%K{001} %F{000}/tmp %k%F{001}%f " "$(build_left_prompt)"
2017-02-04 07:53:35 +00:00
cd -
}
2016-02-13 16:25:03 +00:00
function testDynamicColoringOfVisualIdentifiersWork() {
2018-07-19 20:25:15 +00:00
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
2016-02-13 16:25:03 +00:00
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
2018-07-19 20:25:15 +00:00
local POWERLEVEL9K_DIR_DEFAULT_VISUAL_IDENTIFIER_COLOR='green'
local POWERLEVEL9K_FOLDER_ICON="icon-here"
2016-02-13 16:25:03 +00:00
2017-02-04 07:53:35 +00:00
cd /tmp
2016-02-13 16:25:03 +00:00
assertEquals "%K{004} %F{002}icon-here %F{000}/tmp %k%F{004}%f " "$(build_left_prompt)"
2016-02-13 16:25:03 +00:00
2017-02-04 07:53:35 +00:00
cd -
2016-02-13 16:25:03 +00:00
}
function testColoringOfVisualIdentifiersDoesNotOverwriteColoringOfSegment() {
2018-07-19 20:25:15 +00:00
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
2016-02-13 16:25:03 +00:00
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
2018-07-19 20:25:15 +00:00
local POWERLEVEL9K_DIR_DEFAULT_VISUAL_IDENTIFIER_COLOR='green'
local POWERLEVEL9K_DIR_DEFAULT_FOREGROUND='red'
local POWERLEVEL9K_DIR_DEFAULT_BACKGROUND='yellow'
local POWERLEVEL9K_FOLDER_ICON="icon-here"
2016-02-13 16:25:03 +00:00
# Re-Source the icons, as the POWERLEVEL9K_MODE is directly
# evaluated there.
source functions/icons.zsh
2017-02-04 07:53:35 +00:00
cd /tmp
assertEquals "%K{003} %F{002}icon-here %F{001}/tmp %k%F{003}%f " "$(build_left_prompt)"
2016-02-13 16:25:03 +00:00
2017-02-04 07:53:35 +00:00
cd -
2016-02-13 16:25:03 +00:00
}
2016-02-13 16:37:55 +00:00
function testOverwritingIconsWork() {
2018-07-19 20:25:15 +00:00
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
2016-02-13 16:37:55 +00:00
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
2018-07-19 20:25:15 +00:00
local POWERLEVEL9K_FOLDER_ICON='icon-here'
2017-02-04 07:53:35 +00:00
#local testFolder=$(mktemp -d -p p9k)
# Move testFolder under home folder
#mv testFolder ~
# Go into testFolder
#cd ~/$testFolder
2016-02-13 16:37:55 +00:00
2017-02-04 07:53:35 +00:00
cd /tmp
assertEquals "%K{004} %F{000}icon-here %F{000}/tmp %k%F{004}%f " "$(build_left_prompt)"
2016-02-13 16:37:55 +00:00
2017-02-04 07:53:35 +00:00
cd -
# rm -fr ~/$testFolder
2016-02-13 16:37:55 +00:00
}
2018-05-25 22:27:36 +00:00
function testNewlineOnRpromptCanBeDisabled() {
2018-07-19 20:25:15 +00:00
local POWERLEVEL9K_PROMPT_ON_NEWLINE=true
local POWERLEVEL9K_RPROMPT_ON_NEWLINE=false
local POWERLEVEL9K_CUSTOM_WORLD='echo world'
local POWERLEVEL9K_CUSTOM_RWORLD='echo rworld'
local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
2018-05-25 22:27:36 +00:00
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world)
2018-07-19 20:25:15 +00:00
local -a POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
2018-05-25 22:27:36 +00:00
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(custom_rworld)
powerlevel9k_prepare_prompts
2018-06-20 19:44:12 +00:00
assertEquals '$(print_icon MULTILINE_FIRST_PROMPT_PREFIX) world  $(print_icon MULTILINE_LAST_PROMPT_PREFIX) rworld' "$(print -P ${PROMPT}${RPROMPT})"
2018-05-25 22:27:36 +00:00
}
2018-08-04 15:34:52 +00:00
source shunit2/shunit2