Test262 ReportBLACK LIVES MATTER

About

Filter Engines

JavaScript Engines

DecJan 2019FebMarAprMayJunJulAugSepOctNovDecJan 2020FebMarAprMayJunJulAugSepOctNovDecJan 2021FebMarAprMayJunJulAugSepOctNovDecJan 2022FebMarAprMay
All Tests
Show pattern for JavaScript engine result barsChakraCoreJavaScriptCoreSpiderMonkeyV8Moddable XSQuickJSengine262
Current folder:RegExp.prototype.exec152 tests
exec
(source)
98%
ChakraCore: 93%JavaScriptCore: 99%SpiderMonkey: 100%V8: 100%Moddable XS: 96%QuickJS: 100%engine262: 100%
File:
The removed step 9.e won't affected current algorithm
SD
15.10.6.2-9-e-1.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
failure-g-lastindex-reset.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
failure-lastindex-access.js
SD
ChakraCore: 0 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
failure-lastindex-set.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 0 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
name.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
not-a-constructor.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
If varying the RegExp.prototype.exec.length property fails
SD
S15.10.6.2_A10.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp.prototype.exec.length
SD
S15.10.6.2_A11.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp.prototype.exec
SD
S15.10.6.2_A12.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is '123' and RegExp is /1|12/
SD
S15.10.6.2_A1_T1.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is 1.01 and RegExp is /1|12/
SD
S15.10.6.2_A1_T10.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is new Number(1.012) and RegExp is /2|12/
SD
S15.10.6.2_A1_T11.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is {toString:function(){return Math.PI;}} and RegExp is /\.14/
SD
S15.10.6.2_A1_T12.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is true and RegExp is /t[a-b|q-s]/
SD
S15.10.6.2_A1_T13.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is new Boolean and RegExp is /AL|se/
SD
S15.10.6.2_A1_T14.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is {toString:function(){return false;}} and RegExp is /LS/i
SD
S15.10.6.2_A1_T15.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp is /undefined/ and call exec() without arguments
SD
S15.10.6.2_A1_T16.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is null and RegExp is /ll|l/
SD
S15.10.6.2_A1_T17.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is undefined and RegExp is /nd|ne/
SD
S15.10.6.2_A1_T18.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is void 0 and RegExp is /e{1}/
SD
S15.10.6.2_A1_T19.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is new String('123') and RegExp is /((1)|(12))((3)|(23))/
SD
S15.10.6.2_A1_T2.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is x and RegExp is /[a-f]d/, where x is undefined variable
SD
S15.10.6.2_A1_T20.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is function(){}() and RegExp is /[a-z]n/
SD
S15.10.6.2_A1_T21.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is new Object('abcdefghi') and RegExp is /a[a-z]{2,4}/
SD
S15.10.6.2_A1_T3.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is {toString:function(){return 'abcdefghi';}} and RegExp is /a[a-z]{2,4}?/
SD
S15.10.6.2_A1_T4.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is {toString:function(){return {};}, valueOf:function(){return 'aabaac';}} and RegExp is /(aa|aabaac|ba|b|c)* /
SD
S15.10.6.2_A1_T5.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is (function(){return 'zaacbbbcac'})() and RegExp is /(z)((a+)?(b+)?(c))* /
SD
S15.10.6.2_A1_T6.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is {toString:function(){throw 'intostr';}} and RegExp is /[a-z]/
SD
S15.10.6.2_A1_T7.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is {toString:void 0, valueOf:function(){throw 'invalof';}} and RegExp is /[a-z]/
SD
S15.10.6.2_A1_T8.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
String is undefined variable and RegExp is /1|12/
SD
S15.10.6.2_A1_T9.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The internal [[Class]] property is 'Object'
SD
S15.10.6.2_A2_T1.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is undefined
SD
S15.10.6.2_A2_T10.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is Math
SD
S15.10.6.2_A2_T2.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is function object
SD
S15.10.6.2_A2_T3.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is new String('[a-b]')
SD
S15.10.6.2_A2_T4.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is new Boolean(false)
SD
S15.10.6.2_A2_T5.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is new Number(1.0)
SD
S15.10.6.2_A2_T6.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is false
SD
S15.10.6.2_A2_T7.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is '.'
SD
S15.10.6.2_A2_T8.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
The tested object is 1.0
SD
S15.10.6.2_A2_T9.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp is /(?:ab|cd)\d?/g and tested string is 'ab cd2 ab34 cd'
SD
S15.10.6.2_A3_T1.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp is /[Nn]evermore/g and tested string is very long string
SD
S15.10.6.2_A3_T2.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp is /[Nn]?evermore/g and tested string is very long string
SD
S15.10.6.2_A3_T3.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp is /([Nn]?ever|([Nn]othing\s{1,}))more/g and tested string is very long string
SD
S15.10.6.2_A3_T4.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp is /\d+/g and tested string is '123 456 789'
SD
S15.10.6.2_A3_T5.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp is /(\d+)/g and tested string is '123 456 789'
SD
S15.10.6.2_A3_T6.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp is /\d+/ and tested string is '123 456 789'
SD
S15.10.6.2_A3_T7.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = 12 and again call exec
SD
S15.10.6.2_A4_T1.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = {valueOf:function(){return 12;}} and again call exec
SD
S15.10.6.2_A4_T10.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = {valueOf:function(){throw 'intoint';}} and again call exec
SD
S15.10.6.2_A4_T11.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = {toString:function(){return 12;},valueOf:function(){return {};}} and again call exec
SD
S15.10.6.2_A4_T12.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = undefined and again call exec
SD
S15.10.6.2_A4_T2.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = void 0 and again call exec
SD
S15.10.6.2_A4_T3.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = null and again call exec
SD
S15.10.6.2_A4_T4.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = x and again call exec, where x is undefined variable
SD
S15.10.6.2_A4_T5.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = false and again call exec
SD
S15.10.6.2_A4_T6.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = Math.NaN and again call exec
SD
S15.10.6.2_A4_T7.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = '12' and again call exec
SD
S15.10.6.2_A4_T8.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Call first exec, then set re.lastIndex = 'eleven' and again call exec
SD
S15.10.6.2_A4_T9.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
First call /(?:ab|cd)\d?/g.exec('aac1dz2233a1bz12nm444ab42'), and then First call /(?:ab|cd)\d?/g.exec('aacd22')
SD
S15.10.6.2_A5_T1.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Set lastIndex to 100 and call /(?:ab|cd)\d?/g.exec('aacd22 ')
SD
S15.10.6.2_A5_T2.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
Set lastIndex to -1 and call /(?:ab|cd)\d?/g.exec('aacd22 ')
SD
S15.10.6.2_A5_T3.js
ChakraCore: 0 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
RegExp.prototype.exec.prototype
SD
S15.10.6.2_A6.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
If creating the RegExp.prototype.exec object fails
SD
S15.10.6.2_A7.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
If enumerating the RegExp.prototype.exec.length property fails
SD
S15.10.6.2_A8.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
If deleting the RegExp.prototype.exec.length property fails
SD
S15.10.6.2_A9.js
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
success-g-lastindex-no-access.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
success-lastindex-access.js
SD
ChakraCore: 0 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
u-captured-value.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 0 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
u-lastindex-adv.js
SD
ChakraCore: 0 of 2JavaScriptCore: 0 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
u-lastindex-value.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 0 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
y-fail-lastindex-no-write.js
SD
ChakraCore: 0 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
y-fail-lastindex.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
y-fail-return.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
y-init-lastindex.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2
File:
y-set-lastindex.js
SD
ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2