Conformance
editThe engine is tested against test262, the conformance suite of ECMAScript. A run is a test in one mode (sloppy, strict or module). The excluded tests use features that the engine does not implement on purpose, and are not run. The pass rate is computed over the runs of the other tests: the skipped runs and the known failures do not pass. Each known failure is listed with its reason in the expectation files of tests/Meziantou.Framework.JavaScriptEngine.Test262/expectations; some come from the version of the Unicode data that the tests expect, see Data versions and output differences.
Overall: 99.8% (102,576 / 102,762 runs)
| Area | Files | Excluded | Runs | Skipped | Failing | Passing | Pass rate |
|---|---|---|---|---|---|---|---|
| annexB/built-ins | 241 | 0 | 482 | 0 | 0 | 482 | 100.0% |
| annexB/language | 845 | 0 | 895 | 0 | 0 | 895 | 100.0% |
| built-ins/AbstractModuleSource | 8 | 0 | 8 | 0 | 0 | 8 | 100.0% |
| built-ins/AggregateError | 25 | 0 | 50 | 0 | 0 | 50 | 100.0% |
| built-ins/Array | 3083 | 0 | 6119 | 0 | 0 | 6119 | 100.0% |
| built-ins/ArrayBuffer | 221 | 0 | 442 | 0 | 0 | 442 | 100.0% |
| built-ins/ArrayIteratorPrototype | 27 | 0 | 46 | 0 | 0 | 46 | 100.0% |
| built-ins/AsyncDisposableStack | 104 | 0 | 208 | 0 | 0 | 208 | 100.0% |
| built-ins/AsyncFromSyncIteratorPrototype | 38 | 0 | 76 | 0 | 0 | 76 | 100.0% |
| built-ins/AsyncFunction | 18 | 0 | 36 | 0 | 0 | 36 | 100.0% |
| built-ins/AsyncGeneratorFunction | 23 | 0 | 46 | 0 | 0 | 46 | 100.0% |
| built-ins/AsyncGeneratorPrototype | 48 | 0 | 96 | 0 | 0 | 96 | 100.0% |
| built-ins/AsyncIteratorPrototype | 13 | 0 | 26 | 0 | 0 | 26 | 100.0% |
| built-ins/Atomics | 389 | 0 | 778 | 0 | 0 | 778 | 100.0% |
| built-ins/BigInt | 77 | 0 | 154 | 0 | 0 | 154 | 100.0% |
| built-ins/Boolean | 51 | 0 | 101 | 0 | 0 | 101 | 100.0% |
| built-ins/DataView | 561 | 0 | 1122 | 0 | 0 | 1122 | 100.0% |
| built-ins/Date | 594 | 0 | 1188 | 0 | 0 | 1188 | 100.0% |
| built-ins/DisposableStack | 93 | 0 | 186 | 0 | 0 | 186 | 100.0% |
| built-ins/Error | 93 | 0 | 186 | 0 | 0 | 186 | 100.0% |
| built-ins/FinalizationRegistry | 47 | 0 | 94 | 0 | 0 | 94 | 100.0% |
| built-ins/Function | 509 | 0 | 893 | 0 | 0 | 893 | 100.0% |
| built-ins/GeneratorFunction | 23 | 0 | 46 | 0 | 0 | 46 | 100.0% |
| built-ins/GeneratorPrototype | 61 | 0 | 122 | 0 | 0 | 122 | 100.0% |
| built-ins/Infinity | 6 | 0 | 10 | 0 | 0 | 10 | 100.0% |
| built-ins/Iterator | 654 | 0 | 1308 | 0 | 0 | 1308 | 100.0% |
| built-ins/JSON | 166 | 0 | 332 | 0 | 0 | 332 | 100.0% |
| built-ins/Map | 204 | 0 | 405 | 0 | 0 | 405 | 100.0% |
| built-ins/MapIteratorPrototype | 11 | 0 | 22 | 0 | 0 | 22 | 100.0% |
| built-ins/Math | 327 | 0 | 654 | 0 | 0 | 654 | 100.0% |
| built-ins/NaN | 6 | 0 | 10 | 0 | 0 | 10 | 100.0% |
| built-ins/NativeErrors | 94 | 0 | 188 | 0 | 0 | 188 | 100.0% |
| built-ins/Number | 340 | 0 | 680 | 0 | 0 | 680 | 100.0% |
| built-ins/Object | 3411 | 0 | 6802 | 0 | 0 | 6802 | 100.0% |
| built-ins/Promise | 732 | 0 | 1458 | 0 | 0 | 1458 | 100.0% |
| built-ins/Proxy | 311 | 0 | 607 | 0 | 0 | 607 | 100.0% |
| built-ins/Reflect | 153 | 0 | 306 | 0 | 0 | 306 | 100.0% |
| built-ins/RegExp | 1879 | 0 | 3756 | 0 | 180 | 3576 | 95.2% |
| built-ins/RegExpStringIteratorPrototype | 17 | 0 | 34 | 0 | 0 | 34 | 100.0% |
| built-ins/Set | 383 | 0 | 764 | 0 | 0 | 764 | 100.0% |
| built-ins/SetIteratorPrototype | 11 | 0 | 22 | 0 | 0 | 22 | 100.0% |
| built-ins/ShadowRealm | 64 | 0 | 124 | 0 | 0 | 124 | 100.0% |
| built-ins/SharedArrayBuffer | 104 | 0 | 208 | 0 | 0 | 208 | 100.0% |
| built-ins/String | 1223 | 0 | 2443 | 0 | 0 | 2443 | 100.0% |
| built-ins/StringIteratorPrototype | 7 | 0 | 14 | 0 | 0 | 14 | 100.0% |
| built-ins/SuppressedError | 22 | 0 | 44 | 0 | 0 | 44 | 100.0% |
| built-ins/Symbol | 98 | 0 | 192 | 0 | 0 | 192 | 100.0% |
| built-ins/Temporal | 4605 | 0 | 9210 | 0 | 0 | 9210 | 100.0% |
| built-ins/ThrowTypeError | 14 | 0 | 28 | 0 | 0 | 28 | 100.0% |
| built-ins/TypedArray | 1453 | 0 | 2890 | 0 | 0 | 2890 | 100.0% |
| built-ins/TypedArrayConstructors | 738 | 0 | 1446 | 0 | 0 | 1446 | 100.0% |
| built-ins/Uint8Array | 70 | 0 | 140 | 0 | 0 | 140 | 100.0% |
| built-ins/WeakMap | 141 | 0 | 281 | 0 | 0 | 281 | 100.0% |
| built-ins/WeakRef | 29 | 0 | 58 | 0 | 0 | 58 | 100.0% |
| built-ins/WeakSet | 85 | 0 | 170 | 0 | 0 | 170 | 100.0% |
| built-ins/decodeURI | 55 | 0 | 110 | 0 | 0 | 110 | 100.0% |
| built-ins/decodeURIComponent | 56 | 0 | 112 | 0 | 0 | 112 | 100.0% |
| built-ins/encodeURI | 31 | 0 | 62 | 0 | 0 | 62 | 100.0% |
| built-ins/encodeURIComponent | 31 | 0 | 62 | 0 | 0 | 62 | 100.0% |
| built-ins/eval | 10 | 0 | 20 | 0 | 0 | 20 | 100.0% |
| built-ins/global | 29 | 0 | 56 | 0 | 0 | 56 | 100.0% |
| built-ins/isFinite | 15 | 0 | 30 | 0 | 0 | 30 | 100.0% |
| built-ins/isNaN | 15 | 0 | 30 | 0 | 0 | 30 | 100.0% |
| built-ins/parseFloat | 54 | 0 | 108 | 0 | 0 | 108 | 100.0% |
| built-ins/parseInt | 55 | 0 | 110 | 0 | 0 | 110 | 100.0% |
| built-ins/undefined | 8 | 0 | 12 | 0 | 0 | 12 | 100.0% |
| intl402 | 22 | 0 | 44 | 0 | 0 | 44 | 100.0% |
| intl402/Array | 2 | 0 | 4 | 0 | 0 | 4 | 100.0% |
| intl402/BigInt | 11 | 0 | 22 | 0 | 0 | 22 | 100.0% |
| intl402/Collator | 65 | 0 | 130 | 0 | 0 | 130 | 100.0% |
| intl402/Date | 12 | 0 | 24 | 0 | 0 | 24 | 100.0% |
| intl402/DateTimeFormat | 245 | 0 | 490 | 0 | 0 | 490 | 100.0% |
| intl402/DisplayNames | 57 | 0 | 114 | 0 | 0 | 114 | 100.0% |
| intl402/DurationFormat | 110 | 0 | 220 | 0 | 0 | 220 | 100.0% |
| intl402/FallbackSymbol | 2 | 0 | 4 | 0 | 0 | 4 | 100.0% |
| intl402/Intl | 66 | 0 | 132 | 0 | 0 | 132 | 100.0% |
| intl402/ListFormat | 81 | 0 | 162 | 0 | 0 | 162 | 100.0% |
| intl402/Locale | 190 | 0 | 380 | 0 | 0 | 380 | 100.0% |
| intl402/Number | 7 | 0 | 14 | 0 | 0 | 14 | 100.0% |
| intl402/NumberFormat | 251 | 0 | 502 | 0 | 0 | 502 | 100.0% |
| intl402/PluralRules | 53 | 0 | 106 | 0 | 0 | 106 | 100.0% |
| intl402/RelativeTimeFormat | 80 | 0 | 160 | 0 | 0 | 160 | 100.0% |
| intl402/Segmenter | 79 | 0 | 158 | 0 | 0 | 158 | 100.0% |
| intl402/String | 19 | 0 | 38 | 0 | 0 | 38 | 100.0% |
| intl402/Temporal | 2029 | 0 | 4058 | 0 | 0 | 4058 | 100.0% |
| intl402/TypedArray | 1 | 0 | 2 | 0 | 0 | 2 | 100.0% |
| language/arguments-object | 263 | 0 | 460 | 0 | 0 | 460 | 100.0% |
| language/asi | 102 | 0 | 204 | 0 | 0 | 204 | 100.0% |
| language/block-scope | 145 | 0 | 287 | 0 | 0 | 287 | 100.0% |
| language/comments | 52 | 0 | 81 | 0 | 0 | 81 | 100.0% |
| language/computed-property-names | 48 | 0 | 96 | 0 | 0 | 96 | 100.0% |
| language/destructuring | 19 | 0 | 37 | 0 | 0 | 37 | 100.0% |
| language/directive-prologue | 62 | 0 | 62 | 0 | 0 | 62 | 100.0% |
| language/eval-code | 347 | 0 | 454 | 0 | 0 | 454 | 100.0% |
| language/export | 3 | 0 | 3 | 0 | 0 | 3 | 100.0% |
| language/expressions | 11102 | 0 | 21286 | 0 | 0 | 21286 | 100.0% |
| language/function-code | 217 | 0 | 281 | 0 | 0 | 281 | 100.0% |
| language/future-reserved-words | 55 | 0 | 85 | 0 | 0 | 85 | 100.0% |
| language/global-code | 42 | 0 | 75 | 0 | 0 | 75 | 100.0% |
| language/identifier-resolution | 14 | 0 | 22 | 0 | 0 | 22 | 100.0% |
| language/identifiers | 268 | 0 | 535 | 0 | 0 | 535 | 100.0% |
| language/import | 129 | 0 | 135 | 0 | 0 | 135 | 100.0% |
| language/keywords | 25 | 0 | 50 | 0 | 0 | 50 | 100.0% |
| language/line-terminators | 41 | 0 | 82 | 0 | 0 | 82 | 100.0% |
| language/literals | 536 | 0 | 1041 | 0 | 0 | 1041 | 100.0% |
| language/module-code | 599 | 0 | 602 | 0 | 0 | 602 | 100.0% |
| language/punctuators | 11 | 0 | 22 | 0 | 0 | 22 | 100.0% |
| language/reserved-words | 27 | 0 | 53 | 0 | 0 | 53 | 100.0% |
| language/rest-parameters | 11 | 0 | 22 | 0 | 0 | 22 | 100.0% |
| language/source-text | 1 | 0 | 2 | 0 | 0 | 2 | 100.0% |
| language/statementList | 80 | 0 | 160 | 0 | 0 | 160 | 100.0% |
| language/statements | 9347 | 0 | 18015 | 0 | 0 | 18015 | 100.0% |
| language/types | 113 | 0 | 211 | 0 | 0 | 211 | 100.0% |
| language/white-space | 67 | 0 | 134 | 0 | 0 | 134 | 100.0% |
| staging | 4 | 0 | 8 | 0 | 0 | 8 | 100.0% |
| staging/Temporal | 2 | 0 | 4 | 0 | 0 | 4 | 100.0% |
| staging/Uint8Array | 1 | 0 | 2 | 0 | 0 | 2 | 100.0% |
| staging/built-ins | 8 | 0 | 16 | 0 | 0 | 16 | 100.0% |
| staging/decorators | 3 | 0 | 6 | 0 | 0 | 6 | 100.0% |
| staging/explicit-resource-management | 53 | 0 | 105 | 0 | 0 | 105 | 100.0% |
| staging/set-methods | 3 | 0 | 6 | 0 | 0 | 6 | 100.0% |
| staging/sm | 1406 | 0 | 2631 | 2 | 4 | 2625 | 99.8% |
| staging/source-phase-imports | 2 | 0 | 4 | 0 | 0 | 4 | 100.0% |
| staging/top-level-await | 1 | 0 | 1 | 0 | 0 | 1 | 100.0% |
| Total | 53500 | 0 | 102762 | 2 | 184 | 102576 | 99.8% |