test262
Sashfold's pass rate on test262, the ECMAScript conformance suite, run the way the suite's own instructions say: the harness first, then the test, once as sloppy code and once as strict unless the test says otherwise. Every test under each listed directory counts, including the ones that need modules, async functions or features not written yet. A test that expects a syntax error scores only when the engine raised a real one, never when it merely declined a feature it does not have.
41845 / 45367test262 tests passing — 92.2%
| Directory | Passing | Rate | |
|---|---|---|---|
test/language/arguments-object | 261 / 263 | 99.2% | |
test/language/asi | 102 / 102 | 100.0% | |
test/language/block-scope | 130 / 145 | 89.7% | |
test/language/comments | 52 / 52 | 100.0% | |
test/language/computed-property-names | 48 / 48 | 100.0% | |
test/language/destructuring | 19 / 19 | 100.0% | |
test/language/directive-prologue | 62 / 62 | 100.0% | |
test/language/eval-code | 347 / 347 | 100.0% | |
test/language/export | 3 / 3 | 100.0% | |
test/language/expressions | 10890 / 11102 | 98.1% | |
test/language/function-code | 217 / 217 | 100.0% | |
test/language/future-reserved-words | 55 / 55 | 100.0% | |
test/language/global-code | 41 / 42 | 97.6% | |
test/language/identifier-resolution | 14 / 14 | 100.0% | |
test/language/identifiers | 264 / 268 | 98.5% | |
test/language/import | 12 / 129 | 9.3% | |
test/language/keywords | 25 / 25 | 100.0% | |
test/language/line-terminators | 41 / 41 | 100.0% | |
test/language/literals | 528 / 536 | 98.5% | |
test/language/module-code | 594 / 599 | 99.2% | |
test/language/punctuators | 11 / 11 | 100.0% | |
test/language/reserved-words | 27 / 27 | 100.0% | |
test/language/rest-parameters | 11 / 11 | 100.0% | |
test/language/source-text | 1 / 1 | 100.0% | |
test/language/statementList | 80 / 80 | 100.0% | |
test/language/statements | 9141 / 9347 | 97.8% | |
test/language/types | 113 / 113 | 100.0% | |
test/language/white-space | 65 / 67 | 97.0% | |
test/built-ins/AggregateError | 25 / 25 | 100.0% | |
test/built-ins/Array | 2984 / 3082 | 96.8% | |
test/built-ins/ArrayBuffer | 185 / 221 | 83.7% | |
test/built-ins/ArrayIteratorPrototype | 27 / 27 | 100.0% | |
test/built-ins/AsyncFromSyncIteratorPrototype | 38 / 38 | 100.0% | |
test/built-ins/AsyncFunction | 18 / 18 | 100.0% | |
test/built-ins/AsyncGeneratorFunction | 23 / 23 | 100.0% | |
test/built-ins/AsyncGeneratorPrototype | 48 / 48 | 100.0% | |
test/built-ins/AsyncIteratorPrototype | 13 / 13 | 100.0% | |
test/built-ins/BigInt | 76 / 77 | 98.7% | |
test/built-ins/Boolean | 51 / 51 | 100.0% | |
test/built-ins/DataView | 511 / 561 | 91.1% | |
test/built-ins/Date | 586 / 594 | 98.7% | |
test/built-ins/Error | 78 / 93 | 83.9% | |
test/built-ins/NativeErrors | 94 / 94 | 100.0% | |
test/built-ins/Function | 493 / 509 | 96.9% | |
test/built-ins/GeneratorFunction | 23 / 23 | 100.0% | |
test/built-ins/GeneratorPrototype | 61 / 61 | 100.0% | |
test/built-ins/global | 29 / 29 | 100.0% | |
test/built-ins/Infinity | 6 / 6 | 100.0% | |
test/built-ins/isFinite | 15 / 15 | 100.0% | |
test/built-ins/isNaN | 15 / 15 | 100.0% | |
test/built-ins/JSON | 144 / 165 | 87.3% | |
test/built-ins/Map | 204 / 204 | 100.0% | |
test/built-ins/MapIteratorPrototype | 11 / 11 | 100.0% | |
test/built-ins/Math | 312 / 327 | 95.4% | |
test/built-ins/NaN | 6 / 6 | 100.0% | |
test/built-ins/Number | 340 / 340 | 100.0% | |
test/built-ins/Object | 3393 / 3411 | 99.5% | |
test/built-ins/parseFloat | 54 / 54 | 100.0% | |
test/built-ins/parseInt | 55 / 55 | 100.0% | |
test/built-ins/Promise | 645 / 732 | 88.1% | |
test/built-ins/Proxy | 311 / 311 | 100.0% | |
test/built-ins/Reflect | 153 / 153 | 100.0% | |
test/built-ins/RegExp | 1037 / 1266 | 81.9% | |
test/built-ins/Set | 383 / 383 | 100.0% | |
test/built-ins/SetIteratorPrototype | 11 / 11 | 100.0% | |
test/built-ins/String | 1185 / 1223 | 96.9% | |
test/built-ins/StringIteratorPrototype | 7 / 7 | 100.0% | |
test/built-ins/Symbol | 98 / 98 | 100.0% | |
test/built-ins/TypedArray | 1430 / 1446 | 98.9% | |
test/built-ins/TypedArrayConstructors | 680 / 738 | 92.1% | |
test/built-ins/undefined | 8 / 8 | 100.0% | |
test/built-ins/WeakMap | 141 / 141 | 100.0% | |
test/built-ins/WeakSet | 85 / 85 | 100.0% | |
test/built-ins/DisposableStack | 93 / 93 | 100.0% | |
test/built-ins/AsyncDisposableStack | 104 / 104 | 100.0% | |
test/built-ins/SuppressedError | 22 / 22 | 100.0% | |
test/built-ins/eval | 10 / 10 | 100.0% | |
test/built-ins/decodeURI | 55 / 55 | 100.0% | |
test/built-ins/decodeURIComponent | 56 / 56 | 100.0% | |
test/built-ins/encodeURI | 31 / 31 | 100.0% | |
test/built-ins/encodeURIComponent | 31 / 31 | 100.0% | |
test/annexB/language | 819 / 845 | 96.9% | |
test/annexB/built-ins/RegExp | 38 / 62 | 61.3% | |
test/annexB/built-ins/String | 105 / 111 | 94.6% | |
test/annexB/built-ins/Date | 24 / 24 | 100.0% | |
test/annexB/built-ins/escape | 16 / 16 | 100.0% | |
test/annexB/built-ins/unescape | 19 / 19 | 100.0% | |
test/annexB/built-ins/Object | 0 / 1 | 0.0% | |
test/annexB/built-ins/Function | 6 / 6 | 100.0% | |
test/intl402 | 1170 / 3357 | 34.9% |
Scored 2026-10-01 against test262 revision 419d3e0a2273. The number is enforced in CI: a baseline names every passing test, and a test that stops passing fails the build. What the engine cannot do, it does not score.