diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /devtools/client/jsonview/test/browser_jsonview_encoding.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/jsonview/test/browser_jsonview_encoding.js')
-rw-r--r-- | devtools/client/jsonview/test/browser_jsonview_encoding.js | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/devtools/client/jsonview/test/browser_jsonview_encoding.js b/devtools/client/jsonview/test/browser_jsonview_encoding.js new file mode 100644 index 0000000000..be49af39d2 --- /dev/null +++ b/devtools/client/jsonview/test/browser_jsonview_encoding.js @@ -0,0 +1,67 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +add_task(async function () { + info("Test JSON encoding started"); + + const bom = "%EF%BB%BF"; // UTF-8 BOM + const tests = [ + { + input: bom, + output: "", + }, + { + input: "%FE%FF", // UTF-16BE BOM + output: "\uFFFD\uFFFD", + }, + { + input: "%FF%FE", // UTF-16LE BOM + output: "\uFFFD\uFFFD", + }, + { + input: bom + "%30", + output: "0", + }, + { + input: bom + bom, + output: "\uFEFF", + }, + { + input: "%00%61", + output: "\u0000a", + }, + { + input: "%61%00", + output: "a\u0000", + }, + { + input: "%30%FF", + output: "0�", + }, + { + input: "%C3%A0", + output: "à", + }, + { + input: "%E2%9D%A4", + output: "❤", + }, + { + input: "%F0%9F%9A%80", + output: "🚀", + }, + ]; + + for (const { input, output } of tests) { + info("Test decoding of " + JSON.stringify(input) + "."); + + await addJsonViewTab("data:application/json," + input); + await selectJsonViewContentTab("rawdata"); + + // Check displayed data. + const data = await getElementText(".textPanelBox .data"); + is(data, output, "The right data has been received."); + } +}); |