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

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

Issue 288393002: Implement navigator.languages. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@language_change_tests
Patch Set: 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
« no previous file with comments | « no previous file | Source/core/frame/DOMWindow.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <body> 3 <body>
4 <script src="../resources/testharness.js"></script> 4 <script src="../resources/testharness.js"></script>
5 <script src="../resources/testharnessreport.js"></script> 5 <script src="../resources/testharnessreport.js"></script>
6 <script> 6 <script>
7 7
8 test(function() { 8 test(function() {
9 assert_true('language' in window.navigator); 9 assert_true('language' in window.navigator);
10 assert_false('languages' in window.navigator); 10 assert_true('languages' in window.navigator);
11 assert_true('onlanguagechange' in window); 11 assert_true('onlanguagechange' in window);
12 }, "Test that NavigatorLanguage API is present in window"); 12 }, "Test that NavigatorLanguage API is present in window");
13 13
14 test(function() { 14 test(function() {
15 var received = false; 15 var received = false;
16 window.onlanguagechange = function() { 16 window.onlanguagechange = function() {
17 received = true; 17 received = true;
18 } 18 }
19 19
20 window.testRunner.setAcceptLanguages('klingon'); 20 window.testRunner.setAcceptLanguages('klingon');
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 79
80 test(function() { 80 test(function() {
81 window.addEventListener('languagechange', function(e) { 81 window.addEventListener('languagechange', function(e) {
82 assert_false(e.cancelable); 82 assert_false(e.cancelable);
83 assert_false(e.bubbles); 83 assert_false(e.bubbles);
84 }); 84 });
85 85
86 window.testRunner.setAcceptLanguages('klingon'); 86 window.testRunner.setAcceptLanguages('klingon');
87 }, "Test properties of the fired event."); 87 }, "Test properties of the fired event.");
88 88
89 test(function() {
90 var testValues = [
jochen (gone - plz use gerrit) 2014/05/21 09:10:40 the entire file violates coding style by using 2 s
mlamouri (slow - plz ping) 2014/05/21 16:45:55 Done.
91 { accept_languages: 'foo', language: 'foo', languages: ['foo'] },
92 { accept_languages: '', language: '', languages: [] },
93 { accept_languages: 'foo,bar', language: 'foo', languages: [ 'foo', 'bar' ] },
94 { accept_languages: ' foo , bar ', language: 'foo', languages: [ 'foo', 'ba r' ] },
95 { accept_languages: ' foo ; bar ', language: 'foo ; bar', languages: [ 'foo ; bar' ] },
96 { accept_languages: '_foo_', language: '_foo_', languages: ['_foo_'] },
97 { accept_languages: 'en_', language: 'en-', languages: ['en-'] },
98 { accept_languages: 'en__', language: 'en-_', languages: ['en-_'] },
jochen (gone - plz use gerrit) 2014/05/21 09:10:40 is en__ a valid language? It seems to be a bit odd
mlamouri (slow - plz ping) 2014/05/21 16:45:55 This isn't intending to validate the language pass
99 { accept_languages: 'en_US, fr_FR', language: 'en-US', languages: ['en-US', 'fr-FR'] },
100 { accept_languages: 'en_US_CA', language: 'en-US_CA', languages: ['en-US_CA' ] },
101 ];
102
103 var eventsCount = 0;
104 window.onlanguagechange = function() {
105 eventsCount++;
106 }
107
108 for (var i = 0; i < testValues.length; ++i) {
109 var data = testValues[i];
110
111 window.testRunner.setAcceptLanguages(data.accept_languages);
112 assert_equals(eventsCount, i + 1);
113
114 assert_equals(navigator.languages.length, data.languages.length);
115 // FIXME: test navigator.language
116 for (var j = 0; j < navigator.languages.length; ++j) {
117 assert_equals(navigator.languages[j], data.languages[j]);
118 }
119 }
120 }, "Test that navigator.languages reflects the accept languages value.");
121
122 test(function() {
123 var previous = navigator.languages;
124 assert_equals(navigator.languages, navigator.languages);
125 assert_equals(navigator.languages, previous);
126
127 window.testRunner.setAcceptLanguages('fr-FR');
128 assert_not_equals(navigator.languages, previous);
129 }, "Test that navigator.languages caching behaviour.");
130
89 </script> 131 </script>
90 </body> 132 </body>
91 </html> 133 </html>
OLDNEW
« no previous file with comments | « no previous file | Source/core/frame/DOMWindow.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698