OILS / spec / explore-parsing.test.sh View on Github | oils.pub

43 lines, 13 significant
1## compare_shells: dash bash mksh
2
3# Tests that explore parsing corner cases.
4
5#### Length of length of ARGS!
6fun() { echo ${##}; }
7fun 0 1 2 3 4 5 6 7 8
8## stdout: 1
9
10#### Length of length of ARGS! 2 digit
11fun() { echo ${##}; }
12fun 0 1 2 3 4 5 6 7 8 9
13## stdout: 2
14
15#### Is \r considered whitespace?
16echo -e 'echo\rTEST' > myscript
17$SH myscript
18
19## status: 127
20## STDOUT:
21## END
22
23#### readonly +
24
25# dash and bash validate this! But not set +
26
27readonly + >/dev/null
28echo status=$?
29## STDOUT:
30status=0
31## END
32## OK bash STDOUT:
33status=1
34## END
35## OK dash status: 2
36## OK dash stdout-json: ""
37
38#### set +
39set + >/dev/null
40echo status=$?
41## STDOUT:
42status=0
43## END