dom/tests/mochitest/localstorage/test_brokenUTF-16.html

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     1 <html xmlns="http://www.w3.org/1999/xhtml">
     2 <head>
     3 <title>incomplete UTF-16 test</title>
     4 <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
     6 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     9 <script type="text/javascript">
    11 function startTest()
    12 {
    13   // Check this works for a diacritics
    14   var k = "valid UTF-16 key";
    15   var v = "ěščřžýáíéúůĚŠČŘŽÝÁÍÉÚŮ";
    17   localStorage.setItem(k, v);
    18   is(localStorage.getItem(k), v, "UTF-16 value results from getItem");
    20   localStorage.setItem(v, "a value");
    21   is(localStorage.getItem(v), "a value", "value result using UTF-16 key from getItem");
    23   localStorage.clear();
    25   localStorage[k] = v;
    26   is(localStorage[k], v, "UTF-16 value results from []");
    28   localStorage[v] = "a value";
    29   is(localStorage[v], "a value", "value result using UTF-16 key from []");
    31   localStorage.clear();
    33   localStorage.aKey = v;
    34   is(localStorage.aKey, v, "UTF-16 value results from a dynamic property");
    36   localStorage.clear();
    38   // Broken UTF-16
    39   k = "broken UTF-16 key";
    40   v = "\uD800"; // broken UTF-16
    42   localStorage.setItem(k, v);
    43   is(localStorage.getItem(k), v, "broken value results from getItem");
    45   localStorage.setItem(v, "a value");
    46   is(localStorage.getItem(v), "a value", "value result using broken key from getItem");
    48   localStorage.clear();
    50   localStorage[k] = v;
    51   is(localStorage[k], v, "broken value results from []");
    53   localStorage[v] = "a value";
    54   is(localStorage[v], "a value", "value result using broken key from []");
    56   localStorage.clear();
    58   localStorage.aKey = v;
    59   is(localStorage.aKey, v, "broken value results from a dynamic property");
    61   localStorage.clear();
    63   // Another variant
    64   v = "FcK"
    65     + String.fromCharCode(0x8a)
    66     + ".jp";
    68   localStorage.setItem(k, v);
    69   is(localStorage.getItem(k), v);
    71   localStorage.setItem(v, "a value");
    72   is(localStorage.getItem(v), "a value");
    74   localStorage.clear();
    76   // And yet another variant
    77   v = "something"
    78     + String.fromCharCode(355, 277, 349, 357, 533, 537, 101, 345);
    80   localStorage.setItem(k, v);
    81   is(localStorage.getItem(k), v);
    83   localStorage.setItem(v, "a value");
    84   is(localStorage.getItem(v), "a value");
    86   localStorage.clear();
    88   SimpleTest.finish();
    89 }
    91 SimpleTest.waitForExplicitFinish();
    93 </script>
    95 </head>
    97 <body onload="startTest();">
    99 </body>
   100 </html>

mercurial