]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - tests/lib.sh.test
lib.sh: Fix m4() to work with arguments with spaces.
[config/dotfiles.git] / tests / lib.sh.test
index 91aef013c2c97466991f2c19e4f211c9c0e03e6a..911b4db14a0ec956481c93e3d3dba42cc3730fd2 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
@@ -19,3 +20,38 @@ function which() {
 # Tests for installed() without exit codes.
 installed ls && echo ls installed
 installed doesnt-exist && echo doesnt-exist installed
+
+
+# Tests for m4().
+echo "Simple test file for m4.
+IF(TEST,m4)
+    m4
+FI
+IF(TEST,n4)
+    n4
+FI" > tmp/test.m4
+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 m4().
+echo "Test with multiple arguments passed to m4.
+first: FIRST
+second: SECOND
+" > tmp/test-multiple.m4
+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 m4().
+echo "Test with multiple arguments with spaces passed to m4.
+first: FIRST
+second: SECOND
+" > tmp/test-multiple-spaces.m4
+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"
+
+# vim: ft=sh