mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-24 10:18:59 +00:00
LibJS: Fix JSON.stringify with stale surrogate codepoints
This fix this test262 test: built-ins/JSON/stringify/value-string-escape-unicode.js
This commit is contained in:
parent
5aa803f7f2
commit
dc42ca37bd
Notes:
sideshowbarker
2024-07-17 19:40:15 +09:00
Author: https://github.com/Jorropo
Commit: dc42ca37bd
Pull-request: https://github.com/SerenityOS/serenity/pull/12325
Reviewed-by: https://github.com/davidot
Reviewed-by: https://github.com/mattco98
Reviewed-by: https://github.com/trflynn89 ✅
2 changed files with 10 additions and 2 deletions
|
@ -63,6 +63,14 @@ describe("correct behavior", () => {
|
|||
o[sym] = "qux";
|
||||
expect(JSON.stringify(o)).toBe('{"foo":"bar"}');
|
||||
});
|
||||
|
||||
test("escape surrogate codepoints in strings", () => {
|
||||
expect(JSON.stringify("\ud83d\ude04")).toBe('"😄"');
|
||||
expect(JSON.stringify("\ud83d")).toBe('"\\ud83d"');
|
||||
expect(JSON.stringify("\ude04")).toBe('"\\ude04"');
|
||||
expect(JSON.stringify("\ud83d\ud83d\ude04\ud83d\ude04\ude04")).toBe('"\\ud83d😄😄\\ude04"');
|
||||
expect(JSON.stringify("\ude04\ud83d\ude04\ud83d\ude04\ud83d")).toBe('"\\ude04😄😄\\ud83d"');
|
||||
});
|
||||
});
|
||||
|
||||
describe("errors", () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue