spec test index / oilshell.org
| status | osh | osh_ALT | |
| pass | 15 | 15 | |
| FAIL | 1 | 1 | |
| total | 16 | 16 | |
| case | osh | osh_ALT | description | 
| 0 | pass | pass | Exact equality with === and !== | 
| 1 | pass | pass | Approximate equality of Str x {Str, Int, Bool} with ~== | 
| 2 | pass | pass | Wrong Types with ~== | 
| 3 | pass | pass | === on float not allowed | 
| 4 | FAIL | FAIL | ~== on Float - TODO floatEquals() | 
| details | details | ||
| 5 | pass | pass | Comparison converts from Str -> Int or Float | 
| 6 | pass | pass | Comparison of Int | 
| 7 | pass | pass | Comparison of Str does conversion to Int | 
| 8 | pass | pass | Mixed Type Comparison does conversion to Int | 
| 9 | pass | pass | Invalid String is an error | 
| 10 | pass | pass | Bool conversion -- explicit allowed, implicit not allowed | 
| 11 | pass | pass | Chained Comparisons | 
| 12 | pass | pass | List / "Tuple" comparison is not allowed | 
| 13 | pass | pass | Ternary op behaves like if statement | 
| 14 | pass | pass | Undefined comparisons | 
| 15 | pass | pass | Non-comparable types in case arms | 
30 passed, 0 OK, 0 not implemented, 0 BUG, 1 failed, 0 timeouts, 0 cases skipped 1 failed under osh
| osh | 4 ~== on Float - TODO floatEquals() [osh status] Expected 0, got 1 stdout: stderr:   if (42 ~== 42.0) {
         ^~~
[ stdin ]:3: fatal: ~== expects a string on the left
 | 
| osh_ALT | 4 ~== on Float - TODO floatEquals() [osh_ALT status] Expected 0, got 1 stdout: stderr:   if (42 ~== 42.0) {
         ^~~
[ stdin ]:3: fatal: ~== expects a string on the left
 |