]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - tests/lib.sh.test
lib.sh: Generalize sed_i() to cmd_i() for in-place changes.
[config/dotfiles.git] / tests / lib.sh.test
index 911b4db14a0ec956481c93e3d3dba42cc3730fd2..e46e937678a5126baf60812efd731c2706d31d46 100644 (file)
@@ -1,57 +1,80 @@
 # Tests for lib.sh.
 
+# Copyright (C) 2009-2013  Simon Ruderich
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 
 . ../lib.sh
 
-# Tests for installed() with hopefully proper exit codes (1 if the program was
-# 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
-    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.
-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 m4().
-echo "Test with multiple arguments passed to m4.
+# Test multiple arguments to generate().
+echo "Test with multiple arguments passed to generate().
 first: FIRST
 second: SECOND
 " > tmp/test-multiple.m4
-m4 tmp/test-multiple -DFIRST=first -DSECOND=second
+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 m4().
-echo "Test with multiple arguments with spaces passed to 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
-m4 tmp/test-multiple-spaces -DFIRST="first with spaces" \
-                            -DSECOND="second with spaces"
+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 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).
+
+...
+" > 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