 | at22 tests/built-ins/String/prototype/at/ | 57% ChakraCore: 0%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 0%QuickJS: 0%engine262: 100% |
 | String.prototype.charAt60 tests/built-ins/String/prototype/charAt/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.charCodeAt50 tests/built-ins/String/prototype/charCodeAt/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.codePointAt32 tests/built-ins/String/prototype/codePointAt/ | 99% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 94%QuickJS: 100%engine262: 100% |
 | String.prototype.concat44 tests/built-ins/String/prototype/concat/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.constructor4 tests/built-ins/String/prototype/constructor/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.endsWith54 tests/built-ins/String/prototype/endsWith/ | 99% ChakraCore: 96%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.includes54 tests/built-ins/String/prototype/includes/ | 99% ChakraCore: 96%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.indexOf94 tests/built-ins/String/prototype/indexOf/ | 99% ChakraCore: 94%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.lastIndexOf48 tests/built-ins/String/prototype/lastIndexOf/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.localeCompare26 tests/built-ins/String/prototype/localeCompare/ | 98% ChakraCore: 92%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 92%QuickJS: 100%engine262: 100% |
 | String.prototype.match88 tests/built-ins/String/prototype/match/ | 99% ChakraCore: 93%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.matchAll40 tests/built-ins/String/prototype/matchAll/ | 88% ChakraCore: 15%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.normalize28 tests/built-ins/String/prototype/normalize/ | 91% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 36%QuickJS: 100%engine262: 100% |
 | String.prototype.padEnd26 tests/built-ins/String/prototype/padEnd/ | 99% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 92%QuickJS: 100%engine262: 100% |
 | String.prototype.padStart26 tests/built-ins/String/prototype/padStart/ | 99% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 92%QuickJS: 100%engine262: 100% |
 | String.prototype.repeat32 tests/built-ins/String/prototype/repeat/ | 99% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 94% |
 | String.prototype.replace92 tests/built-ins/String/prototype/replace/ | 98% ChakraCore: 96%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 93% |
 | replaceAll82 tests/built-ins/String/prototype/replaceAll/ | 86% ChakraCore: 2%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.search74 tests/built-ins/String/prototype/search/ | 98% ChakraCore: 89%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.slice72 tests/built-ins/String/prototype/slice/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.split232 tests/built-ins/String/prototype/split/ | 99% ChakraCore: 97%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 99%QuickJS: 100%engine262: 99% |
 | String.prototype.startsWith42 tests/built-ins/String/prototype/startsWith/ | 99% ChakraCore: 95%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.substring88 tests/built-ins/String/prototype/substring/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype[Symbol.iterator]12 tests/built-ins/String/prototype/Symbol.iterator/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.toLocaleLowerCase56 tests/built-ins/String/prototype/toLocaleLowerCase/ | 98% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 86%QuickJS: 100%engine262: 100% |
 | String.prototype.toLocaleUpperCase52 tests/built-ins/String/prototype/toLocaleUpperCase/ | 99% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 92%QuickJS: 100%engine262: 100% |
 | String.prototype.toLowerCase56 tests/built-ins/String/prototype/toLowerCase/ | 98% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 86%QuickJS: 100%engine262: 100% |
 | String.prototype.toString14 tests/built-ins/String/prototype/toString/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.toUpperCase52 tests/built-ins/String/prototype/toUpperCase/ | 99% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 92%QuickJS: 100%engine262: 100% |
 | String.prototype.trim258 tests/built-ins/String/prototype/trim/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.trimEnd46 tests/built-ins/String/prototype/trimEnd/ | 86% ChakraCore: 4%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.trimStart46 tests/built-ins/String/prototype/trimStart/ | 86% ChakraCore: 4%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.prototype.valueOf14 tests/built-ins/String/prototype/valueOf/ | 100% ChakraCore: 100%JavaScriptCore: 100%SpiderMonkey: 100%V8: 100%Moddable XS: 100%QuickJS: 100%engine262: 100% |
 | String.hasOwnProperty('prototype') SD S15.5.3.1_A1.js | ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2 |
 | If enumerating the String.prototype property fails SD S15.5.3.1_A2.js | ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2 |
 | If deleting the String.prototype property fails SD S15.5.3.1_A3.js | ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2 |
 | If varying the String.prototype property fails SD S15.5.3.1_A4.js | ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2 |
 | First we delete String.prototype.toString cause it overrides Object prototype toString. Object.prototype.toString returns [object+[[class]]+] SD S15.5.4_A1.js | ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2 |
 | String.prototype SD S15.5.4_A2.js | ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2 |
 | Object.prototype.isPrototypeOf(String.prototype) SD S15.5.4_A3.js | ChakraCore: 2 of 2JavaScriptCore: 2 of 2SpiderMonkey: 2 of 2V8: 2 of 2Moddable XS: 2 of 2QuickJS: 2 of 2engine262: 2 of 2 |