From 77e59999abc331ed376e2182d390b0106a05c17b Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Mon, 29 Jan 2024 20:21:13 +0100 Subject: [PATCH] test: should serialize storageState with lone surrogates (#1464) --- .../TestBrowserContextStorageState.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextStorageState.java b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextStorageState.java index 3ad573c0..3d1a1a27 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextStorageState.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextStorageState.java @@ -139,4 +139,20 @@ public class TestBrowserContextStorageState extends TestBase { } context2.close(); } + + @Test + void shouldSerialiseStorageStateWithLoneSurrogates() { + page.navigate(server.EMPTY_PAGE); + page.evaluate("chars => window.localStorage.setItem('foo', String.fromCharCode(55934))"); + String storageState = context.storageState(); + assertJsonEquals("{" + + "cookies:[]," + + "origins:[{\n" + + " origin: 'http://localhost:" + server.PORT + "',\n" + + " localStorage: [{\n" + + " name: 'foo',\n" + + " value: '" + (char)55934 + "'\n" + + " }]\n" + + "}]}", new Gson().fromJson(storageState, JsonObject.class)); + } }