<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>