From 084f992fab98b2d2902c60f3737e2526a4f58649 Mon Sep 17 00:00:00 2001
From: Dominik Ritter <dritter03@googlemail.com>
Date: Wed, 18 Jul 2018 22:22:17 +0200
Subject: Add tests for nvm segment

---
 test/segments/nvm.spec | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)
 create mode 100755 test/segments/nvm.spec

(limited to 'test')

diff --git a/test/segments/nvm.spec b/test/segments/nvm.spec
new file mode 100755
index 00000000..fe40b067
--- /dev/null
+++ b/test/segments/nvm.spec
@@ -0,0 +1,66 @@
+#!/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/nvm-test
+  mkdir -p "${FOLDER}"
+  cd $FOLDER
+}
+
+function tearDown() {
+  # 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 testNvmSegmentPrintsNothingIfNvmIsNotAvailable() {
+  local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(nvm custom_world)
+  local POWERLEVEL9K_CUSTOM_WORLD='echo world'
+  alias nvm=nonvm
+
+  assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
+
+  unset POWERLEVEL9K_CUSTOM_WORLD
+  unalias nvm
+}
+
+function testNvmSegmentWorksWithoutHavingADefaultAlias() {
+  local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(nvm)
+  nvm() { echo 'v4.6.0'; }
+
+  assertEquals "%K{green} %F{011%}⬢ %f%F{011}4.6.0 %k%F{green}%f " "$(build_left_prompt)"
+
+  unfunction nvm
+}
+
+function testNvmSegmentPrintsNothingWhenOnDefaultVersion() {
+  local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(nvm custom_world)
+  local POWERLEVEL9K_CUSTOM_WORLD='echo world'
+  nvm() { echo 'v4.6.0'; }
+
+  export NVM_DIR="${FOLDER}"
+  mkdir alias
+  echo 'v4.6.0' > alias/default
+
+  assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
+
+  unfunction nvm
+  unset POWERLEVEL9K_CUSTOM_WORLD
+  unset NVM_DIR
+}
+
+source shunit2/source/2.1/src/shunit2
\ No newline at end of file
-- 
cgit v1.2.3