summaryrefslogtreecommitdiff
path: root/test/segments/background_jobs.spec
diff options
context:
space:
mode:
authorDominik Ritter <dritter03@googlemail.com>2018-07-16 21:47:15 +0300
committerDominik Ritter <dritter03@googlemail.com>2018-07-16 21:47:15 +0300
commit74a3d2d6e2b88e9d4c89995373e0d176b47450d7 (patch)
tree78c5e873310b086babfcde26702ed6bbc2c7967f /test/segments/background_jobs.spec
parent8c44fa68a25c12748fd4f031c691c54b76d0e290 (diff)
Add tests for background_jobs segment
Diffstat (limited to 'test/segments/background_jobs.spec')
-rwxr-xr-xtest/segments/background_jobs.spec64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/segments/background_jobs.spec b/test/segments/background_jobs.spec
new file mode 100755
index 00000000..9f866ff0
--- /dev/null
+++ b/test/segments/background_jobs.spec
@@ -0,0 +1,64 @@
+#!/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
+}
+
+function testBackgroundJobsSegmentPrintsNothingWithoutBackgroundJobs() {
+ local POWERLEVEL9K_CUSTOM_WORLD='echo world'
+ local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(background_jobs custom_world)
+ alias jobs="nojobs 2>/dev/null"
+
+ assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
+
+ unalias jobs
+}
+
+function testBackgroundJobsSegmentWorksWithOneBackgroundJob() {
+ unset POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE
+ local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(background_jobs)
+ jobs() {
+ echo '[1] + 30444 suspended nvim xx'
+ }
+
+ assertEquals "%K{black} %F{cyan%}⚙%f %k%F{black}%f " "$(build_left_prompt)"
+
+ unfunction jobs
+}
+
+function testBackgroundJobsSegmentWorksWithMultipleBackgroundJobs() {
+ unset POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE
+ local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(background_jobs)
+ jobs() {
+ echo "[1] 31190 suspended nvim xx"
+ echo "[2] - 31194 suspended nvim xx2"
+ echo "[3] + 31206 suspended nvim xx3"
+ }
+
+ assertEquals "%K{black} %F{cyan%}⚙%f %k%F{black}%f " "$(build_left_prompt)"
+
+ unfunction jobs
+}
+
+function testBackgroundJobsSegmentWithVerboseMode() {
+ local POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=true
+ local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(background_jobs)
+ jobs() {
+ echo "[1] 31190 suspended nvim xx"
+ echo "[2] - 31194 suspended nvim xx2"
+ echo "[3] + 31206 suspended nvim xx3"
+ }
+
+ assertEquals "%K{black} %F{cyan%}⚙ %f%F{cyan}3 %k%F{black}%f " "$(build_left_prompt)"
+
+ unfunction jobs
+}
+
+source shunit2/source/2.1/src/shunit2 \ No newline at end of file