Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1154)

Side by Side Diff: LayoutTests/navigator_language/navigator_language.html

Issue 284793003: Implement languagechange event, fired when accept languages changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase and add tests Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <script src="../resources/testharness.js"></script>
5 <script src="../resources/testharnessreport.js"></script>
6 <script>
7
8 test(function() {
9 assert_true('language' in window.navigator);
10 assert_false('languages' in window.navigator);
11 assert_true('onlanguagechange' in window);
12 }, "Test that NavigatorLanguage API is present in window");
13
14 test(function() {
15 var received = false;
16 window.onlanguagechange = function() {
17 received = true;
18 }
19
20 window.testRunner.setAcceptLanguages('klingon');
21 assert_true(received);
22 }, "Test that the languagechange event fires on window.onlanguagechange");
23
24 test(function() {
25 var received = false;
26 window.addEventListener('languagechange', function() {
27 received = true;
28 });
29
30 window.testRunner.setAcceptLanguages('klingon-FR');
31 assert_true(received);
32 }, "Test that the languagechange event fires on window.addEventListener('languag echange')");
33
34 test(function() {
35 window.received = false; // We need a global variable here.
36 document.body.setAttribute('onlanguagechange', 'window.received = true;');
37
38 window.testRunner.setAcceptLanguages('klingon-US');
39 assert_true(window.received);
40 }, "Test that the languagechange event fires on body onlanguagechange attribute" );
41
42 test(function() {
43 window.received = 0; // We need a global variable here.
44 var fromWindowHandler = false;
45 document.body.setAttribute('onlanguagechange', 'window.received++;');
46 window.onlanguagechange = function() {
47 received++;
48 fromWindowHandler = true;
49 }
50
51 window.testRunner.setAcceptLanguages('klingon');
52 assert_equals(window.received, 1);
53 assert_true(fromWindowHandler);
54
55 window.received = 0;
56 fromWindowHandler = false;
57 window.onlanguagechange = function() {
58 received++;
59 fromWindowHandler = true;
60 }
61 document.body.setAttribute('onlanguagechange', 'window.received++;');
62
63 window.testRunner.setAcceptLanguages('klingon-FR');
64 assert_equals(window.received, 1);
65 assert_false(fromWindowHandler);
66 }, "Test that the languagechange event fires on body onlanguagechange attribute XOR window.onlanguagechange");
67
68 test(function() {
69 var eventsCount = 0;
70 window.onlanguagechange = function() {
71 eventsCount++;
72 }
73
74 window.testRunner.setAcceptLanguages('klingon-US');
75 window.testRunner.setAcceptLanguages('klingon-US');
76
77 assert_equals(eventsCount, 1);
78 }, "Test that changing the language to the same value doesn't fire an event.")
79
80 test(function() {
81 window.addEventListener('languagechange', function(e) {
82 assert_false(e.cancelable);
83 assert_false(e.bubbles);
84 });
85
86 window.testRunner.setAcceptLanguages('klingon');
87 }, "Test properties of the fired event.");
88
89 </script>
90 </body>
91 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698