X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=tests%2Flib.sh.test;h=5db26dcf3eae59f4b47ce217a9c19b2e02ae427e;hb=5b59dfd4b86ca165c34815c45dbed6eb45928038;hp=d3620cc14e6bc08424f783de91dded7d5fa6bc04;hpb=2b996dfbed52a0ec1592b4820990f97b5147b2d4;p=config%2Fdotfiles.git diff --git a/tests/lib.sh.test b/tests/lib.sh.test index d3620cc..5db26dc 100644 --- a/tests/lib.sh.test +++ b/tests/lib.sh.test @@ -1,23 +1,70 @@ # 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 . + . ../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 + return 1 + fi +} +echo stdout which +installed ls && echo ls installed +installed doesnt-exist && echo doesnt-exist installed + +# 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 + return 1 + fi +} +echo stderr 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 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 + +# which with proper exit codes and no output in case of an error. +which() { + if [ $1 = ls ]; then + echo /bin/ls + else + return 1 + fi +} +echo different which installed ls && echo ls installed installed doesnt-exist && echo doesnt-exist installed @@ -63,6 +110,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).