aboutsummaryrefslogtreecommitdiffstats
path: root/test-cases/case3_negative_lookahead/script.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test-cases/case3_negative_lookahead/script.sh')
-rw-r--r--test-cases/case3_negative_lookahead/script.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/test-cases/case3_negative_lookahead/script.sh b/test-cases/case3_negative_lookahead/script.sh
new file mode 100644
index 0000000..3246f74
--- /dev/null
+++ b/test-cases/case3_negative_lookahead/script.sh
@@ -0,0 +1,43 @@
+fun match {
+ set res = $($1 $2)
+ if [ $res != $3 ] {
+ echo "match $1 $2: expected $3, got $res"
+ }
+}
+
+fun x1 {
+ case $1 {
+ a(?!x)x { echo yes }
+ .* { echo no }
+ }
+}
+match x1 a no
+match x1 aa no
+match x1 ax no
+match x1 axx no
+match x1 aax no
+
+fun x3 {
+ case $1 {
+ x(?!(a|b)).* { echo yes }
+ .* { echo no }
+ }
+}
+match x3 x yes
+match x3 xa no
+match x3 xb no
+match x3 xax no
+match x3 xbx no
+match x3 xxa yes
+match x3 xxb yes
+match x3 xfoobar yes
+
+fun x4 {
+ case $1 {
+ x(?!a).* { echo yes }
+ .* { echo no }
+ }
+}
+match x4 x yes
+match x4 xa no
+match x4 xy no