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>