tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_localStorageEnablePref.html (1530B)


      1 <html xmlns="http://www.w3.org/1999/xhtml">
      2 <head>
      3 <title>localStorage enable preference test</title>
      4 
      5 <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      7 
      8 <script type="text/javascript">
      9 
     10 SimpleTest.requestCompleteLog();
     11 
     12 function checkException(func, exc)
     13 {
     14  var exceptionThrew = false;
     15  try {
     16    func();
     17  }
     18  catch (ex) {
     19    exceptionThrew = true;
     20    is(ex.name, exc, "Expected "+exc+" exception");
     21    if (ex.name != exc) {
     22      info("The exception which was thrown is: " + ex);
     23    }
     24  }
     25  ok(exceptionThrew, "Exception "+exc+" threw");
     26 }
     27 
     28 var storage;
     29 function test1() {
     30  is(typeof(window.localStorage), "object", "Storage is present");
     31  storage = window.localStorage;
     32 
     33  SpecialPowers.pushPrefEnv({"set": [["dom.storage.enabled", false]]}, test2);
     34 }
     35 
     36 function test2() {
     37  is(window.localStorage, null, "Storage is null");
     38 
     39  checkException(function() {storage.setItem("test", "value");}, "SecurityError");
     40 
     41  SpecialPowers.pushPrefEnv({"set": [["dom.storage.enabled", true]]}, test3);
     42 }
     43 
     44 function test3() {
     45  is(typeof(window.localStorage), "object", "Storage is present again");
     46  storage.setItem("test", "value");
     47  is(storage.getItem("test"), "value", "value can be set");
     48  window.localStorage.clear();
     49  SimpleTest.finish();
     50 }
     51 
     52 function doTest() {
     53  SpecialPowers.pushPrefEnv({"set": [["dom.storage.enabled", true]]}, test1);
     54 }
     55 
     56 SimpleTest.waitForExplicitFinish();
     57 
     58 </script>
     59 
     60 </head>
     61 
     62 <body onload="doTest();">
     63 
     64 </body>
     65 </html>