No specific user configuration
[platform/upstream/bash.git] / tests / cond.tests
index 4f3cbdf..d91dddd 100755 (executable)
@@ -20,6 +20,19 @@ echo returns: $?
 [[ ! x || x ]]
 echo returns: $?
 
+# parenthesized terms didn't work right until post-2.04
+[[ a ]]
+echo returns: $?
+
+[[ (a) ]]
+echo returns: $?
+
+[[ -n a ]]
+echo returns: $?
+
+[[ (-n a) ]]
+echo returns: $?
+
 # unset variables don't need to be quoted
 [[ -n $UNSET ]]
 echo returns: $?
@@ -140,3 +153,35 @@ PAT=
 if [[ $STR = $PAT ]]; then
         echo ok
 fi
+
+# test the regular expression conditional operator
+[[ jbig2dec-0.9-i586-001.tgz =~ ([^-]+)-([^-]+)-([^-]+)-0*([1-9][0-9]*)\.tgz ]]
+echo ${BASH_REMATCH[1]}
+
+# this shouldn't echo anything
+[[ jbig2dec-0.9-i586-001.tgz =~ \([^-]+\)-\([^-]+\)-\([^-]+\)-0*\([1-9][0-9]*\)\.tgz ]]
+echo ${BASH_REMATCH[1]}
+
+LDD_BASH="       linux-gate.so.1 =>  (0xffffe000)
+       libreadline.so.5 => /lib/libreadline.so.5 (0xb7f91000)
+       libhistory.so.5 => /lib/libhistory.so.5 (0xb7f8a000)
+       libncurses.so.5 => /lib/libncurses.so.5 (0xb7f55000)
+       libdl.so.2 => /lib/libdl.so.2 (0xb7f51000)
+       libc.so.6 => /lib/libc.so.6 (0xb7e34000)
+       /lib/ld-linux.so.2 (0xb7fd0000)"
+
+[[ "$LDD_BASH" =~ "libc" ]] && echo "found 1" 
+echo ${BASH_REMATCH[@]}
+
+[[ "$LDD_BASH" =~ libc ]] && echo "found 2" 
+echo ${BASH_REMATCH[@]}
+
+# bug in all versions up to and including bash-2.05b
+if [[ "123abc" == *?(a)bc ]]; then echo ok 42; else echo bad 42; fi
+if [[ "123abc" == *?(a)bc ]]; then echo ok 43; else echo bad 43; fi
+
+${THIS_SH} ./cond-regexp1.sub
+
+${THIS_SH} ./cond-regexp2.sub
+
+${THIS_SH} ./cond-regexp3.sub