Conformance

edit

The 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)

AreaFilesExcludedRunsSkippedFailingPassingPass rate
annexB/built-ins241048200482100.0%
annexB/language845089500895100.0%
built-ins/AbstractModuleSource808008100.0%
built-ins/AggregateError250500050100.0%
built-ins/Array308306119006119100.0%
built-ins/ArrayBuffer221044200442100.0%
built-ins/ArrayIteratorPrototype270460046100.0%
built-ins/AsyncDisposableStack104020800208100.0%
built-ins/AsyncFromSyncIteratorPrototype380760076100.0%
built-ins/AsyncFunction180360036100.0%
built-ins/AsyncGeneratorFunction230460046100.0%
built-ins/AsyncGeneratorPrototype480960096100.0%
built-ins/AsyncIteratorPrototype130260026100.0%
built-ins/Atomics389077800778100.0%
built-ins/BigInt77015400154100.0%
built-ins/Boolean51010100101100.0%
built-ins/DataView56101122001122100.0%
built-ins/Date59401188001188100.0%
built-ins/DisposableStack93018600186100.0%
built-ins/Error93018600186100.0%
built-ins/FinalizationRegistry470940094100.0%
built-ins/Function509089300893100.0%
built-ins/GeneratorFunction230460046100.0%
built-ins/GeneratorPrototype61012200122100.0%
built-ins/Infinity60100010100.0%
built-ins/Iterator65401308001308100.0%
built-ins/JSON166033200332100.0%
built-ins/Map204040500405100.0%
built-ins/MapIteratorPrototype110220022100.0%
built-ins/Math327065400654100.0%
built-ins/NaN60100010100.0%
built-ins/NativeErrors94018800188100.0%
built-ins/Number340068000680100.0%
built-ins/Object341106802006802100.0%
built-ins/Promise73201458001458100.0%
built-ins/Proxy311060700607100.0%
built-ins/Reflect153030600306100.0%
built-ins/RegExp1879037560180357695.2%
built-ins/RegExpStringIteratorPrototype170340034100.0%
built-ins/Set383076400764100.0%
built-ins/SetIteratorPrototype110220022100.0%
built-ins/ShadowRealm64012400124100.0%
built-ins/SharedArrayBuffer104020800208100.0%
built-ins/String122302443002443100.0%
built-ins/StringIteratorPrototype70140014100.0%
built-ins/SuppressedError220440044100.0%
built-ins/Symbol98019200192100.0%
built-ins/Temporal460509210009210100.0%
built-ins/ThrowTypeError140280028100.0%
built-ins/TypedArray145302890002890100.0%
built-ins/TypedArrayConstructors73801446001446100.0%
built-ins/Uint8Array70014000140100.0%
built-ins/WeakMap141028100281100.0%
built-ins/WeakRef290580058100.0%
built-ins/WeakSet85017000170100.0%
built-ins/decodeURI55011000110100.0%
built-ins/decodeURIComponent56011200112100.0%
built-ins/encodeURI310620062100.0%
built-ins/encodeURIComponent310620062100.0%
built-ins/eval100200020100.0%
built-ins/global290560056100.0%
built-ins/isFinite150300030100.0%
built-ins/isNaN150300030100.0%
built-ins/parseFloat54010800108100.0%
built-ins/parseInt55011000110100.0%
built-ins/undefined80120012100.0%
intl402220440044100.0%
intl402/Array204004100.0%
intl402/BigInt110220022100.0%
intl402/Collator65013000130100.0%
intl402/Date120240024100.0%
intl402/DateTimeFormat245049000490100.0%
intl402/DisplayNames57011400114100.0%
intl402/DurationFormat110022000220100.0%
intl402/FallbackSymbol204004100.0%
intl402/Intl66013200132100.0%
intl402/ListFormat81016200162100.0%
intl402/Locale190038000380100.0%
intl402/Number70140014100.0%
intl402/NumberFormat251050200502100.0%
intl402/PluralRules53010600106100.0%
intl402/RelativeTimeFormat80016000160100.0%
intl402/Segmenter79015800158100.0%
intl402/String190380038100.0%
intl402/Temporal202904058004058100.0%
intl402/TypedArray102002100.0%
language/arguments-object263046000460100.0%
language/asi102020400204100.0%
language/block-scope145028700287100.0%
language/comments520810081100.0%
language/computed-property-names480960096100.0%
language/destructuring190370037100.0%
language/directive-prologue620620062100.0%
language/eval-code347045400454100.0%
language/export303003100.0%
language/expressions111020212860021286100.0%
language/function-code217028100281100.0%
language/future-reserved-words550850085100.0%
language/global-code420750075100.0%
language/identifier-resolution140220022100.0%
language/identifiers268053500535100.0%
language/import129013500135100.0%
language/keywords250500050100.0%
language/line-terminators410820082100.0%
language/literals53601041001041100.0%
language/module-code599060200602100.0%
language/punctuators110220022100.0%
language/reserved-words270530053100.0%
language/rest-parameters110220022100.0%
language/source-text102002100.0%
language/statementList80016000160100.0%
language/statements93470180150018015100.0%
language/types113021100211100.0%
language/white-space67013400134100.0%
staging408008100.0%
staging/Temporal204004100.0%
staging/Uint8Array102002100.0%
staging/built-ins80160016100.0%
staging/decorators306006100.0%
staging/explicit-resource-management53010500105100.0%
staging/set-methods306006100.0%
staging/sm14060263124262599.8%
staging/source-phase-imports204004100.0%
staging/top-level-await101001100.0%
Total535000102762218410257699.8%