tor-browser

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

test_navigator_languages.html (1532B)


      1 <!--
      2  Any copyright is dedicated to the Public Domain.
      3  http://creativecommons.org/publicdomain/zero/1.0/
      4 -->
      5 <!DOCTYPE HTML>
      6 <html>
      7 <!--
      8 Tests of DOM Worker Navigator
      9 -->
     10 <head>
     11  <title>Test for DOM Worker Navigator.languages</title>
     12  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     13  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     14 </head>
     15 <body>
     16 <p id="display"></p>
     17 <div id="content" style="display: none">
     18 
     19 </div>
     20 <pre id="test">
     21 <script class="testbody" language="javascript">
     22 
     23  var tests = [
     24    { expectedLanguages: 'en,it', inputLanguages: 'en,it' },
     25    { expectedLanguages: 'it,en,fr', inputLanguages: 'it,en,fr' },
     26    { expectedLanguages: SpecialPowers.Services.locale.webExposedLocales[0], inputLanguages: '' },
     27    { expectedLanguages: 'en,it', inputLanguages: 'en,it' },
     28  ];
     29  var test;
     30  function runTests() {
     31    if (!tests.length) {
     32      worker.postMessage('finish');
     33      SimpleTest.finish();
     34      return;
     35    }
     36 
     37    test = tests.shift();
     38    SpecialPowers.pushPrefEnv({"set": [["intl.accept_languages", test.inputLanguages]]}, function() {
     39      worker.postMessage(true);
     40    });
     41  }
     42 
     43  SimpleTest.waitForExplicitFinish();
     44 
     45  var worker = new Worker("navigator_languages_worker.js");
     46 
     47  worker.onmessage = function(event) {
     48    is(event.data.toString(), navigator.languages.toString(), "The languages match.");
     49    is(event.data.toString(), test.expectedLanguages, "This is the correct result.");
     50    runTests();
     51  }
     52 
     53  runTests();
     54 
     55 </script>
     56 </pre>
     57 </body>
     58 </html>