OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.android_webview.test; | 5 package org.chromium.android_webview.test; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.os.Build; | 8 import android.os.Build; |
9 import android.os.LocaleList; | 9 import android.os.LocaleList; |
10 import android.support.test.filters.SmallTest; | 10 import android.support.test.filters.SmallTest; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 | 78 |
79 // This should yield a lightly formatted page with the contents of the A
ccept-Language | 79 // This should yield a lightly formatted page with the contents of the A
ccept-Language |
80 // header, e.g. "en-US" or "de-DE,en-US;q=0.8", as the only text content
. | 80 // header, e.g. "en-US" or "de-DE,en-US;q=0.8", as the only text content
. |
81 String url = mTestServer.getURL("/echoheader?Accept-Language"); | 81 String url = mTestServer.getURL("/echoheader?Accept-Language"); |
82 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url)
; | 82 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url)
; |
83 | 83 |
84 String[] acceptLanguages = getAcceptLanguages( | 84 String[] acceptLanguages = getAcceptLanguages( |
85 getJavaScriptResultBodyTextContent(mAwContents, mContentsClient)
); | 85 getJavaScriptResultBodyTextContent(mAwContents, mContentsClient)
); |
86 assertEquals(LocaleUtils.getDefaultLocaleString(), acceptLanguages[0]); | 86 assertEquals(LocaleUtils.getDefaultLocaleString(), acceptLanguages[0]); |
87 | 87 |
88 String[] acceptLanguagesJs = getAcceptLanguages( | 88 String[] acceptLanguagesJs = |
89 JSUtils.executeJavaScriptAndWaitForResult( | 89 getAcceptLanguages(JSUtils.executeJavaScriptAndWaitForResult(get
Instrumentation(), |
90 this, mAwContents, mContentsClient.getOnEvaluateJavaScri
ptResultHelper(), | 90 mAwContents, mContentsClient.getOnEvaluateJavaScriptResu
ltHelper(), |
91 "navigator.languages.join(',')")); | 91 "navigator.languages.join(',')")); |
92 assertEquals(acceptLanguagesJs.length, acceptLanguages.length); | 92 assertEquals(acceptLanguagesJs.length, acceptLanguages.length); |
93 for (int i = 0; i < acceptLanguagesJs.length; ++i) { | 93 for (int i = 0; i < acceptLanguagesJs.length; ++i) { |
94 assertEquals(acceptLanguagesJs[i], acceptLanguages[i]); | 94 assertEquals(acceptLanguagesJs[i], acceptLanguages[i]); |
95 } | 95 } |
96 | 96 |
97 // Test locale change at run time | 97 // Test locale change at run time |
98 Locale.setDefault(new Locale("de", "DE")); | 98 Locale.setDefault(new Locale("de", "DE")); |
99 AwContents.updateDefaultLocale(); | 99 AwContents.updateDefaultLocale(); |
100 mAwContents.getSettings().updateAcceptLanguages(); | 100 mAwContents.getSettings().updateAcceptLanguages(); |
(...skipping 20 matching lines...) Expand all Loading... |
121 // This should yield a lightly formatted page with the contents of the A
ccept-Language | 121 // This should yield a lightly formatted page with the contents of the A
ccept-Language |
122 // header, e.g. "en-US" or "de-DE,en-US;q=0.8", as the only text content
. | 122 // header, e.g. "en-US" or "de-DE,en-US;q=0.8", as the only text content
. |
123 String url = mTestServer.getURL("/echoheader?Accept-Language"); | 123 String url = mTestServer.getURL("/echoheader?Accept-Language"); |
124 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url)
; | 124 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url)
; |
125 | 125 |
126 String[] acceptLanguages = getAcceptLanguages( | 126 String[] acceptLanguages = getAcceptLanguages( |
127 getJavaScriptResultBodyTextContent(mAwContents, mContentsClient)
); | 127 getJavaScriptResultBodyTextContent(mAwContents, mContentsClient)
); |
128 assertEquals( | 128 assertEquals( |
129 LocaleUtils.getDefaultLocaleListString(), TextUtils.join(",", ac
ceptLanguages)); | 129 LocaleUtils.getDefaultLocaleListString(), TextUtils.join(",", ac
ceptLanguages)); |
130 | 130 |
131 String[] acceptLanguagesJs = getAcceptLanguages(JSUtils.executeJavaScrip
tAndWaitForResult( | 131 String[] acceptLanguagesJs = |
132 this, mAwContents, mContentsClient.getOnEvaluateJavaScriptResult
Helper(), | 132 getAcceptLanguages(JSUtils.executeJavaScriptAndWaitForResult(get
Instrumentation(), |
133 "navigator.languages.join(',')")); | 133 mAwContents, mContentsClient.getOnEvaluateJavaScriptResu
ltHelper(), |
| 134 "navigator.languages.join(',')")); |
134 assertEquals(acceptLanguagesJs.length, acceptLanguages.length); | 135 assertEquals(acceptLanguagesJs.length, acceptLanguages.length); |
135 for (int i = 0; i < acceptLanguagesJs.length; ++i) { | 136 for (int i = 0; i < acceptLanguagesJs.length; ++i) { |
136 assertEquals(acceptLanguagesJs[i], acceptLanguages[i]); | 137 assertEquals(acceptLanguagesJs[i], acceptLanguages[i]); |
137 } | 138 } |
138 | 139 |
139 // Test locales that contain "en-US" change at run time | 140 // Test locales that contain "en-US" change at run time |
140 LocaleList.setDefault(new LocaleList(new Locale("de", "DE"), new Locale(
"en", "US"))); | 141 LocaleList.setDefault(new LocaleList(new Locale("de", "DE"), new Locale(
"en", "US"))); |
141 AwContents.updateDefaultLocale(); | 142 AwContents.updateDefaultLocale(); |
142 mAwContents.getSettings().updateAcceptLanguages(); | 143 mAwContents.getSettings().updateAcceptLanguages(); |
143 | 144 |
(...skipping 22 matching lines...) Expand all Loading... |
166 mAwContents.getSettings().updateAcceptLanguages(); | 167 mAwContents.getSettings().updateAcceptLanguages(); |
167 | 168 |
168 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url)
; | 169 loadUrlSync(mAwContents, mContentsClient.getOnPageFinishedHelper(), url)
; |
169 | 170 |
170 acceptLanguages = getAcceptLanguages( | 171 acceptLanguages = getAcceptLanguages( |
171 getJavaScriptResultBodyTextContent(mAwContents, mContentsClient)
); | 172 getJavaScriptResultBodyTextContent(mAwContents, mContentsClient)
); |
172 String[] acceptLangs = Arrays.copyOfRange(acceptLanguages, 0, acceptLang
uages.length - 1); | 173 String[] acceptLangs = Arrays.copyOfRange(acceptLanguages, 0, acceptLang
uages.length - 1); |
173 assertEquals(LocaleUtils.getDefaultLocaleListString(), TextUtils.join(",
", acceptLangs)); | 174 assertEquals(LocaleUtils.getDefaultLocaleListString(), TextUtils.join(",
", acceptLangs)); |
174 } | 175 } |
175 } | 176 } |
OLD | NEW |