summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Ritter <dritter03@googlemail.com>2018-07-18 23:27:44 +0300
committerDominik Ritter <dritter03@googlemail.com>2018-07-18 23:27:44 +0300
commit0d4004ef1926f0e0e79ec37390ce2840b7db6359 (patch)
tree2ed33fb4ff1e0e3d9cf842f8391036f680410e3b
parent84f327bd60956405b9644ef48f05221903311267 (diff)
Add tests for todo segment
-rwxr-xr-xtest/segments/todo.spec52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/segments/todo.spec b/test/segments/todo.spec
new file mode 100755
index 00000000..0d2d8203
--- /dev/null
+++ b/test/segments/todo.spec
@@ -0,0 +1,52 @@
+#!/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
+
+function setUp() {
+ export TERM="xterm-256color"
+ # Load Powerlevel9k
+ source powerlevel9k.zsh-theme
+
+ P9K_HOME=$(pwd)
+ ### Test specific
+ # Create default folder and git init it.
+ FOLDER=/tmp/powerlevel9k-test
+ mkdir -p "${FOLDER}"
+ mkdir ${FOLDER}/bin
+ OLD_PATH=$PATH
+ PATH=${FOLDER}/bin:$PATH
+ cd $FOLDER
+}
+
+function tearDown() {
+ # Reset PATH
+ PATH=$OLD_PATH
+ # Go back to powerlevel9k folder
+ cd "${P9K_HOME}"
+ # Remove eventually created test-specific folder
+ rm -fr "${FOLDER}"
+ # At least remove test folder completely
+ rm -fr /tmp/powerlevel9k-test
+}
+
+function testTodoSegmentPrintsNothingIfTodoShIsNotInstalled() {
+ local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(todo custom_world)
+ local POWERLEVEL9K_CUSTOM_WORLD='echo world'
+
+ assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
+}
+
+function testTodoSegmentWorksAsExpected() {
+ # TODO: Skript in den PATH legen!
+ local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(todo)
+ echo '#!/bin/sh' > ${FOLDER}/bin/todo.sh
+ echo 'echo "TODO: 34 of 100 tasks shown";' >> ${FOLDER}/bin/todo.sh
+ chmod +x ${FOLDER}/bin/todo.sh
+
+ assertEquals "%K{244} %F{black%}☑ %f%F{black}100 %k%F{grey50}%f " "$(build_left_prompt)"
+}
+
+source shunit2/source/2.1/src/shunit2 \ No newline at end of file