var-op-slice () { run-file var-op-slice "$@" } run-file () { local spec_name=$1; shift; sh-spec spec/$spec_name.test.sh --compare-shells --oils-bin-dir $PWD/bin "$@" }
spec test index / oilshell.org
60 passed, 6 OK, 8 not implemented, 14 BUG, 0 failed, 0 timeouts, 0 cases skipped
zsh | 1 Cannot take length of substring slice stdout: 3stderr: |
osh | 1 Cannot take length of substring slice stdout: stderr: echo ${#v:1:3} ^ [ stdin ]:2: Expected } after length expression |
mksh | 2 Out of range string slice: begin stdout: 0stderr: |
mksh | 3 Out of range string slice: length stdout: _defg 0stderr: |
mksh | 5 Negative start index respects unicode stdout: -μstderr: |
mksh | 6 Negative second arg is position, not length! stdout: defg defg defgstderr: |
mksh | 7 Negative start index respects unicode stdout: d-μ-stderr: |
mksh | 9 Slice undefined stdout: -- -- -done-stderr: |
mksh | 10 Slice UTF-8 String stdout: -μstderr: |
bash | 11 Slice string with invalid UTF-8 results in empty string and warning stdout: -bcd-stderr: |
mksh | 11 Slice string with invalid UTF-8 results in empty string and warning stdout: -bcd-stderr: |
zsh | 11 Slice string with invalid UTF-8 results in empty string and warning stdout: -bcd-stderr: |
bash | 12 Slice string with invalid UTF-8 with strict_word_eval stdout: slice -bcd-stderr: bash: line 1: shopt: strict_word_eval: invalid shell option name |
mksh | 12 Slice string with invalid UTF-8 with strict_word_eval stdout: slice -bcd-stderr: mksh: <stdin>[1]: shopt: not found |
zsh | 12 Slice string with invalid UTF-8 with strict_word_eval stdout: slice -bcd-stderr: zsh: command not found: shopt |
zsh | 13 Slice with an index that's an array -- silent a[0] decay stdout: assignedstderr: zsh: bad math expression: operator expected at `4 5' |
mksh | 14 Slice with an assoc array stdout: stderr: mksh: <stdin>[1]: syntax error: '(' unexpected |
mksh | 15 Simple ${@:offset} stdout: stderr: mksh: <stdin>[3]: ${@: 0}: bad substitution mksh: <stdin>[6]: ${@: 1}: bad substitution |
mksh | 16 ${@:offset} and ${*:offset} stdout: stderr: mksh: <stdin>[28]: ${*: 0}: bad substitution |
zsh | 16 ${@:offset} and ${*:offset} stdout: stderr: |
mksh | 17 ${@:offset:length} and ${*:offset:length} stdout: stderr: mksh: <stdin>[28]: ${*: 0:2}: bad substitution |
zsh | 17 ${@:offset:length} and ${*:offset:length} stdout: stderr: |
mksh | 18 ${@:0:1} stdout: stderr: mksh: <stdin>[2]: ${@: 0:1}: bad substitution |
mksh | 19 Permutations of implicit begin and length stdout: ['1', '2', '3']stderr: mksh: <stdin>[5]: ${array[@]: 0}: bad substitution |
mksh | 20 ${array[@]:} vs ${array[@]: } - bash and zsh inconsistent stdout: ['space', '123']stderr: mksh: ${array[@]:}: bad substitution mksh: ${array[@]: }: bad substitution mksh: ${s:}: bad substitution |
osh | 20 ${array[@]:} vs ${array[@]: } - bash and zsh inconsistent stdout: ['1', '2', '3'] ['space', '1', '2', '3'] ['123'] ['space', '123']stderr: |
mksh | 21 ${array[@]::} has implicit length of zero - for ble.sh stdout: stderr: mksh: <stdin>[2]: ${array[@]:0:}: bad substitution |
zsh | 21 ${array[@]::} has implicit length of zero - for ble.sh stdout: stderr: zsh: closing brace expected |