]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - tests/lib.sh.test
lib.sh: Add generate() which replaces m4().
[config/dotfiles.git] / tests / lib.sh.test
index 3140c232775a9e3a6bd6d55f963885b5d65d071c..d3620cc14e6bc08424f783de91dded7d5fa6bc04 100644 (file)
@@ -7,6 +7,7 @@
 # not found).
 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
@@ -20,16 +21,55 @@ function which() {
 installed ls && echo ls installed
 installed doesnt-exist && echo doesnt-exist installed
 
-# Tests for m4().
-echo "Simple test file for m4.
+
+# Tests for generate().
+echo "Simple test file for generate() using m4.
+include(../lib.m4)dnl
 IF(TEST,m4)
     m4
 FI
 IF(TEST,n4)
     n4
 FI" > tmp/test.m4
-m4 tmp/test -DTEST=m4
+generate m4 tmp/test -DTEST=m4
 # Remove the line with the current date as it changes every time.
 cat tmp/test | grep -v "It was generated from tmp/test.m4"
 
+# Test multiple arguments to generate().
+echo "Test with multiple arguments passed to generate().
+first: FIRST
+second: SECOND
+" > tmp/test-multiple.m4
+generate m4 tmp/test-multiple -DFIRST=first -DSECOND=second
+# Remove the line with the current date as it changes every time.
+cat tmp/test-multiple | grep -v "It was generated from tmp/test-multiple.m4"
+
+# Test multiple arguments with spaces to generate().
+echo "Test with multiple arguments with spaces passed to generate().
+first: FIRST
+second: SECOND
+" > tmp/test-multiple-spaces.m4
+generate m4 tmp/test-multiple-spaces -DFIRST="first with spaces" \
+                                     -DSECOND="second with spaces"
+# Remove the line with the current date as it changes every time.
+cat tmp/test-multiple-spaces \
+    | grep -v "It was generated from tmp/test-multiple-spaces.m4"
+
+# Test generate() using awk.
+echo "Simple test fiel for generate() using awk.
+first second
+" > tmp/test-awk.in
+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 cat.
+echo "Simple test fiel for generate() using cat (simple copy).
+
+...
+" > tmp/test-cat.real
+generate cat tmp/test-cat .real
+# Remove the line with the current date as it changes every time.
+cat tmp/test-cat | grep -v "It was generated from tmp/test-cat.real"
+
 # vim: ft=sh