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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/physicalweb/PwsClientImplTest.java

Issue 2559243003: Extend with a language code in http accept languages
Patch Set: Rebased and used namespcace instead of class Created 4 years 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
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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.chrome.browser.physicalweb; 5 package org.chromium.chrome.browser.physicalweb;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.test.InstrumentationTestCase; 8 import android.test.InstrumentationTestCase;
9 import android.test.suitebuilder.annotation.SmallTest; 9 import android.test.suitebuilder.annotation.SmallTest;
10 import android.text.TextUtils; 10 import android.text.TextUtils;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 || acceptLanguage.equals(languageCode)); 54 || acceptLanguage.equals(languageCode));
55 } 55 }
56 } 56 }
57 57
58 @SmallTest 58 @SmallTest
59 public void testLanguageTagIsPrepended() { 59 public void testLanguageTagIsPrepended() {
60 Locale locale = new Locale("en", "GB"); 60 Locale locale = new Locale("en", "GB");
61 String defaultLocale = LocaleUtils.toLanguageTag(locale); 61 String defaultLocale = LocaleUtils.toLanguageTag(locale);
62 String languageList = "fr-CA,fr-FR,fr"; 62 String languageList = "fr-CA,fr-FR,fr";
63 63
64 // Should prepend the language tag "en-GB" as well as the language code "en".
Ryan Sleevi 2016/12/15 23:44:07 Why should "en" no longer be added?
Yirui Huang 2016/12/16 08:00:08 From both Android Chrome and Webview, we are retur
65 String languageListWithTag = 64 String languageListWithTag =
66 PwsClientImpl.prependToAcceptLanguagesIfNecessary(defaultLocale, languageList); 65 PwsClientImpl.prependToAcceptLanguagesIfNecessary(defaultLocale, languageList);
67 assertEquals("en-GB,en,fr-CA,fr-FR,fr", languageListWithTag); 66 assertEquals("en-GB,fr-CA,fr-FR,fr", languageListWithTag);
68 } 67 }
69 68
70 @SmallTest 69 @SmallTest
71 public void testLanguageOnlyTagIsPrepended() { 70 public void testLanguageOnlyTagIsPrepended() {
72 Locale locale = new Locale("mas"); 71 Locale locale = new Locale("mas");
73 String defaultLocale = LocaleUtils.toLanguageTag(locale); 72 String defaultLocale = LocaleUtils.toLanguageTag(locale);
74 String languageList = "fr-CA,fr-FR,fr"; 73 String languageList = "fr-CA,fr-FR,fr";
75 74
76 // Should prepend the language code only language tag "aaa". 75 // Should prepend the language code only.
77 String languageListWithTag = 76 String languageListWithTag =
78 PwsClientImpl.prependToAcceptLanguagesIfNecessary(defaultLocale, languageList); 77 PwsClientImpl.prependToAcceptLanguagesIfNecessary(defaultLocale, languageList);
79 assertEquals("mas,fr-CA,fr-FR,fr", languageListWithTag); 78 assertEquals("mas,fr-CA,fr-FR,fr", languageListWithTag);
80 } 79 }
81 80
82 @SmallTest 81 @SmallTest
83 public void testSpecialLengthCountryCodeIsPrepended() { 82 public void testSpecialLengthCountryCodeIsPrepended() {
84 Locale locale = new Locale("es", "005"); 83 Locale locale = new Locale("es", "005");
85 String defaultLocale = LocaleUtils.toLanguageTag(locale); 84 String defaultLocale = LocaleUtils.toLanguageTag(locale);
86 String languageList = "fr-CA,fr-FR,fr"; 85 String languageList = "fr-CA,fr-FR,fr";
87 86
88 // Should prepend the language tag "aa-AAA" as well as the language code "aa".
89 String languageListWithTag = 87 String languageListWithTag =
90 PwsClientImpl.prependToAcceptLanguagesIfNecessary(defaultLocale, languageList); 88 PwsClientImpl.prependToAcceptLanguagesIfNecessary(defaultLocale, languageList);
91 assertEquals("es-005,es,fr-CA,fr-FR,fr", languageListWithTag); 89 assertEquals("es-005,fr-CA,fr-FR,fr", languageListWithTag);
92 } 90 }
93 91
94 @SmallTest 92 @SmallTest
95 public void testMultipleLanguageTagIsPrepended() { 93 public void testMultipleLanguageTagIsPrepended() {
96 String locale = "jp-JP,is-IS"; 94 String locale = "jp-JP,is-IS";
97 String languageList = "en-US,en"; 95 String languageList = "en-US,en";
98 96
99 // Should prepend the language tag "aa-AA" as well as the language code "aa".
100 String languageListWithTag = PwsClientImpl.prependToAcceptLanguagesIfNec essary(locale, 97 String languageListWithTag = PwsClientImpl.prependToAcceptLanguagesIfNec essary(locale,
101 languageList); 98 languageList);
102 assertEquals("jp-JP,jp,is-IS,is,en-US,en", languageListWithTag); 99 assertEquals("jp-JP,is-IS,en-US,en", languageListWithTag);
103
104 // Make sure the language code is only inserted after the last languageT ag that
105 // contains that language.
106 locale = "jp-JP,fr-CA,fr-FR";
107 languageListWithTag =
108 PwsClientImpl.prependToAcceptLanguagesIfNecessary(locale, langua geList);
109 assertEquals("jp-JP,jp,fr-CA,fr-FR,fr,en-US,en", languageListWithTag);
110 } 100 }
111 101
112 @SmallTest 102 @SmallTest
113 public void testLanguageTagIsPrependedWhenListContainsLanguageCode() { 103 public void testLanguageTagIsPrependedWhenListContainsLanguageCode() {
114 Locale locale = new Locale("fr", "FR"); 104 Locale locale = new Locale("fr", "FR");
115 String defaultLocale = LocaleUtils.toLanguageTag(locale); 105 String defaultLocale = LocaleUtils.toLanguageTag(locale);
116 String languageList = "fr-CA,fr"; 106 String languageList = "fr-CA,fr";
117 107
118 // Should prepend the language tag "xx-XX" but not the language code "xx " as it's already 108 // Should prepend the language tag "xx-XX" but not the language code "xx " as it's already
119 // included at the end of the list. 109 // included at the end of the list.
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 String acceptLanguage = PwsClientImpl.generateAcceptLanguageHeader(langu ageList); 144 String acceptLanguage = PwsClientImpl.generateAcceptLanguageHeader(langu ageList);
155 assertEquals("en-US,en-GB;q=0.8,en;q=0.6,jp-JP;q=0.4,jp;q=0.2", acceptLa nguage); 145 assertEquals("en-US,en-GB;q=0.8,en;q=0.6,jp-JP;q=0.4,jp;q=0.2", acceptLa nguage);
156 146
157 // When there are six or more items, the q-value should not go below 0.2 . 147 // When there are six or more items, the q-value should not go below 0.2 .
158 languageList = "mas,es,en,jp,ch,fr"; 148 languageList = "mas,es,en,jp,ch,fr";
159 acceptLanguage = PwsClientImpl.generateAcceptLanguageHeader(languageList ); 149 acceptLanguage = PwsClientImpl.generateAcceptLanguageHeader(languageList );
160 assertEquals("mas,es;q=0.8,en;q=0.6,jp;q=0.4,ch;q=0.2,fr;q=0.2", 150 assertEquals("mas,es;q=0.8,en;q=0.6,jp;q=0.4,ch;q=0.2,fr;q=0.2",
161 acceptLanguage); 151 acceptLanguage);
162 } 152 }
163 } 153 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698