about summary refs log tree commit diff
path: root/Test/C02cond.ztst
diff options
context:
space:
mode:
authorDaniel Shahaf <d.s@daniel.shahaf.name>2017-11-24 22:09:41 +0000
committerDaniel Shahaf <d.s@daniel.shahaf.name>2017-11-24 22:10:27 +0000
commit77a39b57bf467812b9219ae6a84f2f71e6a50065 (patch)
tree99131cf303d38b18151623e4e4cdab2044005ba1 /Test/C02cond.ztst
parent487489c5225aee671077bc0ea257e5c460e675ef (diff)
downloadzsh-77a39b57bf467812b9219ae6a84f2f71e6a50065.tar.gz
zsh-77a39b57bf467812b9219ae6a84f2f71e6a50065.tar.xz
zsh-77a39b57bf467812b9219ae6a84f2f71e6a50065.zip
42031 + 42048: Make [[ -o invalidoption ]] a normal(ish) false value, rather than a syntax error.
Diffstat (limited to 'Test/C02cond.ztst')
-rw-r--r--Test/C02cond.ztst20
1 files changed, 20 insertions, 0 deletions
diff --git a/Test/C02cond.ztst b/Test/C02cond.ztst
index 38525016c..4ffb07dd4 100644
--- a/Test/C02cond.ztst
+++ b/Test/C02cond.ztst
@@ -440,6 +440,26 @@ F:Failures in these cases do not indicate a problem in the shell.
 >  [[ 'a' == 'b' || 'b' = 'c' || 'c' != 'd' ]]
 >}
 
+  (setopt posixbuiltins; [[ -o invalidoption ]]; echo set: $?; echo "line 1: no warning" >&2)
+  (unsetopt posixbuiltins; [[ -o invalidoption ]]; echo unset: $?)
+  [[ -o invalidoption || -n nonempty ]]; echo "in disjunction, true: $?"
+  [[ -o invalidoption || -z nonempty ]]; echo "in disjunction, false: $?"
+  [[ ! -o invalidoption ]]; echo "negated: $?"
+  [[ -o invalidoption && -n nonempty ]] || echo "in conjunction: $?"
+0:-o invalidoption
+>set: 1
+?line 1: no warning
+>unset: 3
+?(eval):2: no such option: invalidoption
+>in disjunction, true: 0
+?(eval):3: no such option: invalidoption
+>in disjunction, false: 1
+?(eval):4: no such option: invalidoption
+>negated: 3
+?(eval):5: no such option: invalidoption
+>in conjunction: 3
+?(eval):6: no such option: invalidoption
+
 %clean
   # This works around a bug in rm -f in some versions of Cygwin
   chmod 644 unmodish