]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - tests/lib.sh.test
lib.sh: Improve installed() to work with more which.
[config/dotfiles.git] / tests / lib.sh.test
index d3620cc14e6bc08424f783de91dded7d5fa6bc04..171c7c23ad583f21bf29f3c898fe7e628c230f17 100644 (file)
@@ -3,21 +3,41 @@
 
 . ../lib.sh
 
-# Tests for installed() with hopefully proper exit codes (1 if the program was
-# not found).
+# which with proper exit codes and output to stdout.
+which() {
+    if [ $1 = ls ]; then
+        echo /bin/ls
+    else
+        echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin
+        (exit 1)
+    fi
+}
+echo stdout which
 installed ls && echo ls installed
 installed doesnt-exist && echo doesnt-exist installed
 
-# Simulate BSD `which` like on Mac OS X which doesn't use exit codes.
-function which() {
-    echo Mac OS X which for $1 >&2
+# which with proper exit codes and output to stderr in case of an error.
+which() {
+    if [ $1 = ls ]; then
+        echo /bin/ls
+    else
+        echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin >&2
+        (exit 1)
+    fi
+}
+echo stderr which
+installed ls && echo ls installed
+installed doesnt-exist && echo doesnt-exist installed
+
+# which with no proper exit codes and output to stdout in case of an error.
+which() {
     if [ $1 = ls ]; then
         echo /bin/ls
     else
         echo no doesnt-exist in /usr/bin /bin /usr/sbin /sbin
     fi
 }
-# Tests for installed() without exit codes.
+echo stupid which
 installed ls && echo ls installed
 installed doesnt-exist && echo doesnt-exist installed
 
@@ -63,6 +83,14 @@ generate awk tmp/test-awk '{ print $1 }'
 # Remove the line with the current date as it changes every time.
 cat tmp/test-awk | grep -v "It was generated from tmp/test-awk.in"
 
+# Test generate() using perl.
+echo "Simple test fiel for generate() using perl.
+first second
+" > tmp/test-perl.in
+generate perl tmp/test-perl -p -e 's/first/best/'
+# Remove the line with the current date as it changes every time.
+cat tmp/test-perl | grep -v "It was generated from tmp/test-perl.in"
+
 # Test generate() using cat.
 echo "Simple test fiel for generate() using cat (simple copy).