summaryrefslogtreecommitdiffstats
path: root/tests/glob3.sub
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/glob3.sub123
1 files changed, 123 insertions, 0 deletions
diff --git a/tests/glob3.sub b/tests/glob3.sub
new file mode 100644
index 0000000..378234d
--- /dev/null
+++ b/tests/glob3.sub
@@ -0,0 +1,123 @@
+: ${TMPDIR:=/var/tmp}
+cd $TMPDIR
+
+matchfunc()
+{
+ echo == LANG=$LANG ==
+
+ touch a p
+ echo [[:alpha:]
+ rm a p
+
+ case l in
+ [[:alpha:]) echo bad 1;;
+ *) echo ok 1;;
+ esac
+
+ touch '[a' '[x'
+ echo [[:alpha:]
+ rm '[a'
+ echo [[:alpha:]
+ rm '[x'
+
+ case [a in
+ [[:alpha:]) echo ok 2;;
+ *) echo bad 2;;
+ esac
+
+ case [x in
+ [[:alpha:]) echo bad 3;;
+ *) echo ok 3;;
+ esac
+}
+
+echo invalid bracket expression
+export LANG=C
+matchfunc
+
+export LANG=en_US.UTF-8
+matchfunc
+
+unset -f matchfunc
+
+matchfunc()
+{
+ echo == LANG=$LANG ==
+
+ case a] in
+ [[:aleph:]]) echo bad 1;;
+ *) echo ok 1;;
+ esac
+
+ case a in
+ [[:aleph:]]) echo bad 2;;
+ *) echo ok 2;;
+ esac
+
+ case a] in
+ [[:"alpha":]]) echo bad 3;;
+ *) echo ok 3;;
+ esac
+
+ case a in
+ [[:"alpha":]]) echo bad 4;;
+ *) echo ok 4;;
+ esac
+
+ case a in
+ [abc[:foo:]]) echo ok 5;;
+ *) echo bad 5 ;;
+ esac
+
+ case a in
+ [[:foo:]abc]) echo ok 6;;
+ *) echo bad 6 ;;
+ esac
+}
+
+echo invalid character class
+export LANG=C
+matchfunc
+
+export LANG=en_US.UTF-8
+matchfunc
+
+unset -f matchfunc
+
+matchfunc()
+{
+ echo == LANG=$LANG ==
+
+ case h in
+ [[.hyphen.]) echo bad 1;;
+ *) echo ok 1;;
+ esac
+
+ case - in
+ [[.hyphen.]]) echo ok 2;;
+ *) echo bad 2;;
+ esac
+
+ case slash in
+ [[.slash.]]) echo bad 3;;
+ *) echo ok 3;;
+ esac
+
+ case a in
+ [abc[.nonsense.]]) echo ok 4;;
+ *) echo bad 4 ;;
+ esac
+
+ case a in
+ [[.nonsense.]abc]) echo ok 5;;
+ *) echo bad 5 ;;
+ esac
+}
+
+echo invalid collating symbols
+
+export LANG=C
+matchfunc
+
+export LANG=en_US.UTF-8
+matchfunc