diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /dom/tests/mochitest/localstorage/test_brokenUTF-16.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/tests/mochitest/localstorage/test_brokenUTF-16.html')
-rw-r--r-- | dom/tests/mochitest/localstorage/test_brokenUTF-16.html | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/dom/tests/mochitest/localstorage/test_brokenUTF-16.html b/dom/tests/mochitest/localstorage/test_brokenUTF-16.html new file mode 100644 index 000000000..d9648b271 --- /dev/null +++ b/dom/tests/mochitest/localstorage/test_brokenUTF-16.html @@ -0,0 +1,100 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>incomplete UTF-16 test</title> +<meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> + +<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> + +<script type="text/javascript"> + +function startTest() +{ + // Check this works for a diacritics + var k = "valid UTF-16 key"; + var v = "ěščřžýáíéúůĚŠČŘŽÝÁÍÉÚŮ"; + + localStorage.setItem(k, v); + is(localStorage.getItem(k), v, "UTF-16 value results from getItem"); + + localStorage.setItem(v, "a value"); + is(localStorage.getItem(v), "a value", "value result using UTF-16 key from getItem"); + + localStorage.clear(); + + localStorage[k] = v; + is(localStorage[k], v, "UTF-16 value results from []"); + + localStorage[v] = "a value"; + is(localStorage[v], "a value", "value result using UTF-16 key from []"); + + localStorage.clear(); + + localStorage.aKey = v; + is(localStorage.aKey, v, "UTF-16 value results from a dynamic property"); + + localStorage.clear(); + + // Broken UTF-16 + k = "broken UTF-16 key"; + v = "\uD800"; // broken UTF-16 + + localStorage.setItem(k, v); + is(localStorage.getItem(k), v, "broken value results from getItem"); + + localStorage.setItem(v, "a value"); + is(localStorage.getItem(v), "a value", "value result using broken key from getItem"); + + localStorage.clear(); + + localStorage[k] = v; + is(localStorage[k], v, "broken value results from []"); + + localStorage[v] = "a value"; + is(localStorage[v], "a value", "value result using broken key from []"); + + localStorage.clear(); + + localStorage.aKey = v; + is(localStorage.aKey, v, "broken value results from a dynamic property"); + + localStorage.clear(); + + // Another variant + v = "FcK" + + String.fromCharCode(0x8a) + + ".jp"; + + localStorage.setItem(k, v); + is(localStorage.getItem(k), v); + + localStorage.setItem(v, "a value"); + is(localStorage.getItem(v), "a value"); + + localStorage.clear(); + + // And yet another variant + v = "something" + + String.fromCharCode(355, 277, 349, 357, 533, 537, 101, 345); + + localStorage.setItem(k, v); + is(localStorage.getItem(k), v); + + localStorage.setItem(v, "a value"); + is(localStorage.getItem(v), "a value"); + + localStorage.clear(); + + SimpleTest.finish(); +} + +SimpleTest.waitForExplicitFinish(); + +</script> + +</head> + +<body onload="startTest();"> + +</body> +</html> |