| case | dash | bash | mksh | osh | description |
| 0 | pass | pass | pass | pass | :- |
| 1 | pass | pass | pass | pass | - |
| 2 | pass | pass | pass | pass | Inner single quotes |
| 3 | pass | pass | pass | pass | Inner single quotes, outer double quotes |
| 4 | pass | pass | pass | pass | Inner double quotes |
| 5 | pass | pass | pass | pass | Inner double quotes, outer double quotes |
| 6 | pass | pass | pass | pass | Multiple words: no quotes |
| 7 | pass | pass | pass | pass | Multiple words: no outer quotes, inner single quotes |
| 8 | pass | pass | pass | pass | Multiple words: no outer quotes, inner double quotes |
| 9 | pass | pass | pass | pass | Multiple words: outer double quotes, no inner quotes |
| 10 | pass | pass | pass | pass | Multiple words: outer double quotes, inner double quotes |
| 11 | pass | pass | pass | pass | Multiple words: outer double quotes, inner single quotes |
| 12 | pass | pass | pass | pass | Mixed inner quotes |
| 13 | pass | pass | pass | pass | Mixed inner quotes with outer quotes |
| 14 | pass | pass | pass | pass | Var with multiple words: no quotes |
| 15 | pass | pass | pass | pass | Multiple words: no outer quotes, inner single quotes |
| 16 | pass | pass | pass | pass | Multiple words: no outer quotes, inner double quotes |
| 17 | pass | pass | pass | pass | Multiple words: outer double quotes, no inner quotes |
| 18 | pass | pass | pass | pass | Multiple words: outer double quotes, inner double quotes |
| 19 | pass | pass | pass | pass | Multiple words: outer double quotes, inner single quotes |
| 20 | pass | pass | pass | pass | No outer quotes, Multiple internal quotes |
| 21 | pass | pass | pass | FAIL | Strip a string with single quotes, unquoted |
| | | | details | |
| 22 | pass | pass | pass | FAIL | Strip a string with single quotes, double quoted |
| | | | details | |
| 23 | pass | BUG | BUG | FAIL | Strip a string with single quotes, double quoted, with unescaped ' |
| | details | details | details | |
| 24 | pass | pass | pass | FAIL | The string to strip is space sensitive |
| | | | details | |
| 25 | BUG | pass | pass | FAIL | The string to strip can be single quoted, outer is double quoted |
| details | | | details | |
| 26 | pass | pass | pass | FAIL | The string to strip can be single quoted, outer is unquoted |
| | | | details | |
| osh | 21 Strip a string with single quotes, unquoted
[osh stdout] Expected b'["\'a", \'b\', \'c\']\n', got b'["\'a", \'b\', \'c\', "d\'"]\n'
stdout:
["'a", 'b', 'c', "d'"]
stderr:
|
| osh | 22 Strip a string with single quotes, double quoted
[osh stdout] Expected b'["\'a b c "]\n', got b'["\'a b c d\'"]\n'
stdout:
["'a b c d'"]
stderr:
|
| bash | 23 Strip a string with single quotes, double quoted, with unescaped '
stdout:
stderr:
/bin/bash: line 2: unexpected EOF while looking for matching `''
/bin/bash: line 3: syntax error: unexpected end of file
|
| mksh | 23 Strip a string with single quotes, double quoted, with unescaped '
stdout:
stderr:
/bin/mksh: <stdin>[3]: no closing quote
|
| osh | 23 Strip a string with single quotes, double quoted, with unescaped '
[osh stdout] Expected b'["\'a b c "]\n', got b'["\'a b c d\'"]\n'
stdout:
["'a b c d'"]
stderr:
|
| osh | 24 The string to strip is space sensitive
[osh stdout] Expected b"['a b ', 'a b c d']\n", got b"['a b c d', 'a b c d']\n"
stdout:
['a b c d', 'a b c d']
stderr:
|
| dash | 25 The string to strip can be single quoted, outer is double quoted
stdout:
['a b c d', 'a b c d']
stderr:
|
| osh | 25 The string to strip can be single quoted, outer is double quoted
[osh stdout] Expected b"['a b ', 'a b c d']\n", got b"['a b c d', 'a b c d']\n"
stdout:
['a b c d', 'a b c d']
stderr:
|
| osh | 26 The string to strip can be single quoted, outer is unquoted
[osh stdout] Expected b"['a', 'b', 'a', 'b', 'c', 'd']\n", got b"['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd']\n"
stdout:
['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd']
stderr:
|