ladybird/Tests/LibJS/Runtime/builtins/String
Andreas Kling 595ae25e74 LibJS: Use Utf16StringBuilder for JS string construction
Port straightforward JS string construction sites to Utf16StringBuilder.
Make ASCII appends explicit with append_ascii(), and leave byte-output,
formatted-output, and printer plumbing on StringBuilder where that API
still matches the caller.

Add a small checked JS string length product helper. Use it for
String.prototype.repeat() before constructing the repeated result. Keep
the maximum string length policy in LibJS while allowing the UTF-16
builder to remain purpose-built and infallible. Cover overflow from the
final repeated code-unit length in the repeat tests.
2026-06-22 16:10:40 +02:00
..
String.fromCharCode.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.fromCodePoint.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype-generic-functions.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.at.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.charAt.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.charCodeAt.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.codePointAt.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.concat.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.endsWith.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.includes.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.indexOf.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.isWellFormed.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.lastIndexOf.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.localeCompare.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.match.js LibRegex: Fail fast when matches need a missing literal 2026-03-27 17:32:19 +01:00
String.prototype.matchAll.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.normalize.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.padEnd.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.padStart.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.repeat.js LibJS: Use Utf16StringBuilder for JS string construction 2026-06-22 16:10:40 +02:00
String.prototype.replace.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.replaceAll.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.search.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.slice.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.split.js LibJS: Use Substring for regexp results 2026-04-11 00:35:36 +02:00
String.prototype.startsWith.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.substr.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.substring.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.toLocaleLowerCase.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.toLocaleUpperCase.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.toLowerCase.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.toString.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.toUpperCase.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.toWellFormed.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.trim.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.prototype.valueOf.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
String.raw.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00