OILS / spec / zsh-idioms.test.sh View on Github | oils.pub

57 lines, 21 significant
1## compare_shells: bash zsh mksh
2
3#### git-completion snippet
4
5# copied directly from git completion - 2024-04
6
7if false; then
8 unset ${(M)${(k)parameters[@]}:#__gitcomp_builtin_*} 2>/dev/null
9fi
10echo status=$?
11
12## STDOUT:
13status=0
14## END
15
16#### asdf snippet
17
18# copied directly from asdf - 2024-04
19
20if false; then
21 ASDF_DIR=${(%):-%x}
22fi
23
24## STDOUT:
25## END
26
27#### zsh var sub is rejected at runtime
28
29eval 'echo z ${(m)foo} z'
30echo status=$?
31
32eval 'echo ${x:-${(m)foo}}'
33echo status=$?
34
35# double quoted
36eval 'echo "${(m)foo}"'
37echo status=$?
38
39## STDOUT:
40status=1
41status=1
42status=1
43## END
44
45## OK zsh status: 0
46## OK zsh STDOUT:
47z z
48status=0
49
50status=0
51
52status=0
53## END
54
55## BUG mksh status: 1
56## BUG mksh STDOUT:
57## END