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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferencesTest.java

Issue 1894913002: Android: turn on auto-detect encoding by default (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 5 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
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.chrome.browser.preferences.website; 5 package org.chromium.chrome.browser.preferences.website;
6 6
7 import android.content.Intent; 7 import android.content.Intent;
8 import android.os.Bundle; 8 import android.os.Bundle;
9 import android.os.Environment; 9 import android.os.Environment;
10 import android.test.suitebuilder.annotation.SmallTest; 10 import android.test.suitebuilder.annotation.SmallTest;
11 11
12 import org.chromium.base.ThreadUtils; 12 import org.chromium.base.ThreadUtils;
13 import org.chromium.base.test.util.CommandLineFlags; 13 import org.chromium.base.test.util.CommandLineFlags;
14 import org.chromium.base.test.util.Feature; 14 import org.chromium.base.test.util.Feature;
15 import org.chromium.chrome.browser.ChromeActivity; 15 import org.chromium.chrome.browser.ChromeActivity;
16 import org.chromium.chrome.browser.ChromeApplication; 16 import org.chromium.chrome.browser.ChromeApplication;
17 import org.chromium.chrome.browser.ChromeSwitches; 17 import org.chromium.chrome.browser.ChromeSwitches;
18 import org.chromium.chrome.browser.infobar.InfoBarContainer; 18 import org.chromium.chrome.browser.infobar.InfoBarContainer;
19 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference; 19 import org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference;
20 import org.chromium.chrome.browser.preferences.ChromeBaseListPreference; 20 import org.chromium.chrome.browser.preferences.ChromeBaseListPreference;
21 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference; 21 import org.chromium.chrome.browser.preferences.ChromeSwitchPreference;
22 import org.chromium.chrome.browser.preferences.LocationSettings; 22 import org.chromium.chrome.browser.preferences.LocationSettings;
23 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 23 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
24 import org.chromium.chrome.browser.preferences.Preferences; 24 import org.chromium.chrome.browser.preferences.Preferences;
25 import org.chromium.chrome.browser.preferences.PreferencesLauncher; 25 import org.chromium.chrome.browser.preferences.PreferencesLauncher;
26 import org.chromium.chrome.browser.preferences.PreferencesTest;
27 import org.chromium.chrome.browser.util.FeatureUtilities; 26 import org.chromium.chrome.browser.util.FeatureUtilities;
28 import org.chromium.chrome.test.ChromeActivityTestCaseBase; 27 import org.chromium.chrome.test.ChromeActivityTestCaseBase;
29 import org.chromium.chrome.test.util.ChromeTabUtils;
30 import org.chromium.chrome.test.util.InfoBarTestAnimationListener; 28 import org.chromium.chrome.test.util.InfoBarTestAnimationListener;
31 import org.chromium.chrome.test.util.browser.LocationSettingsTestUtil; 29 import org.chromium.chrome.test.util.browser.LocationSettingsTestUtil;
32 import org.chromium.net.test.EmbeddedTestServer; 30 import org.chromium.net.test.EmbeddedTestServer;
33 31
34 import java.util.concurrent.Callable; 32 import java.util.concurrent.Callable;
35 33
36 /** 34 /**
37 * Tests for everything under Settings > Site Settings. 35 * Tests for everything under Settings > Site Settings.
38 */ 36 */
39 public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro meActivity> { 37 public class SiteSettingsPreferencesTest extends ChromeActivityTestCaseBase<Chro meActivity> {
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 websitePreferences.findPreference( 255 websitePreferences.findPreference(
258 SingleCategoryPreferences.READ_WRITE_TOGGLE_KEY) ; 256 SingleCategoryPreferences.READ_WRITE_TOGGLE_KEY) ;
259 websitePreferences.onPreferenceChange(toggle, enabled); 257 websitePreferences.onPreferenceChange(toggle, enabled);
260 assertEquals("Mic should be " + (enabled ? "allowed" : "blocked" ), 258 assertEquals("Mic should be " + (enabled ? "allowed" : "blocked" ),
261 enabled, PrefServiceBridge.getInstance().isMicEnabled()) ; 259 enabled, PrefServiceBridge.getInstance().isMicEnabled()) ;
262 } 260 }
263 }); 261 });
264 preferenceActivity.finish(); 262 preferenceActivity.finish();
265 } 263 }
266 264
267 private void setAutoDetectEncoding(final boolean enabled) {
268 Intent intent = PreferencesLauncher.createIntentForSettingsPage(
269 getInstrumentation().getTargetContext(), LanguagePreferences.cla ss.getName());
270 final Preferences preferenceActivity =
271 (Preferences) getInstrumentation().startActivitySync(intent);
272
273 ThreadUtils.runOnUiThread(new Runnable() {
274 @Override
275 public void run() {
276 LanguagePreferences languagePreferences =
277 (LanguagePreferences) preferenceActivity.getFragmentForT est();
278 ChromeBaseCheckBoxPreference checkbox = (ChromeBaseCheckBoxPrefe rence)
279 languagePreferences.findPreference(
280 LanguagePreferences.PREF_AUTO_DETECT_CHECKBOX);
281 if (checkbox.isChecked() != enabled) {
282 PreferencesTest.clickPreference(languagePreferences, checkbo x);
283 }
284 assertEquals("Auto detect encoding should be " + (enabled ? "ena bled" : "disabled"),
285 enabled, PrefServiceBridge.getInstance().isAutoDetectEnc odingEnabled());
286 }
287 });
288
289 preferenceActivity.finish();
290 }
291
292 private void setEnableKeygen(final String origin, final boolean enabled) { 265 private void setEnableKeygen(final String origin, final boolean enabled) {
293 Website website = new Website(WebsiteAddress.create(origin)); 266 Website website = new Website(WebsiteAddress.create(origin));
294 website.setKeygenInfo(new KeygenInfo(origin, origin, false)); 267 website.setKeygenInfo(new KeygenInfo(origin, origin, false));
295 final Preferences preferenceActivity = startSingleWebsitePreferences(web site); 268 final Preferences preferenceActivity = startSingleWebsitePreferences(web site);
296 269
297 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 270 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
298 @Override 271 @Override
299 public void run() { 272 public void run() {
300 SingleWebsitePreferences websitePreferences = 273 SingleWebsitePreferences websitePreferences =
301 (SingleWebsitePreferences) preferenceActivity.getFragmen tForTest(); 274 (SingleWebsitePreferences) preferenceActivity.getFragmen tForTest();
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
599 572
600 // Launch a page that uses the microphone and make sure an infobar shows up. 573 // Launch a page that uses the microphone and make sure an infobar shows up.
601 loadUrl(mTestServer.getURL("/content/test/data/media/getusermedia.html") ); 574 loadUrl(mTestServer.getURL("/content/test/data/media/getusermedia.html") );
602 runJavaScriptCodeInCurrentTab("getUserMediaAndStop({video: false, audio: true});"); 575 runJavaScriptCodeInCurrentTab("getUserMediaAndStop({video: false, audio: true});");
603 576
604 assertTrue("InfoBar not added.", listener.addInfoBarAnimationFinished()) ; 577 assertTrue("InfoBar not added.", listener.addInfoBarAnimationFinished()) ;
605 assertEquals("Wrong infobar count", 1, getInfoBars().size()); 578 assertEquals("Wrong infobar count", 1, getInfoBars().size());
606 } 579 }
607 580
608 /** 581 /**
609 * Toggles auto detect encoding, makes sure it is set correctly, and makes s ure the page is
610 * encoded correctly.
611 */
612 @SmallTest
613 @Feature({"Preferences"})
614 public void testToggleAutoDetectEncoding() throws Exception {
Theresa 2016/07/19 20:18:03 Now that there's not an explicit toggle, I think r
Jinsuk Kim 2016/07/20 04:04:53 Revived this test and moved to EncodingTest. Left
615 String testUrl = mTestServer.getURL(
616 "/chrome/test/data/encoding_tests/auto_detect/"
617 + "Big5_with_no_encoding_specified.html");
618
619 setAutoDetectEncoding(false);
620 loadUrl(testUrl);
621 assertEquals("Wrong page encoding while auto detect encoding disabled", "windows-1252",
622 getActivity().getCurrentContentViewCore().getWebContents().getEn coding());
623
624 setAutoDetectEncoding(true);
625 ThreadUtils.runOnUiThread(new Runnable() {
626 @Override
627 public void run() {
628 getActivity().getActivityTab().reload();
629 }
630 });
631 ChromeTabUtils.waitForTabPageLoaded(getActivity().getActivityTab(), test Url);
632 assertEquals("Wrong page encoding while auto detect encoding enabled", " Big5",
633 getActivity().getCurrentContentViewCore().getWebContents().getEn coding());
634
635 }
636
637 /**
638 * Helper function to test allowing and blocking background sync. 582 * Helper function to test allowing and blocking background sync.
639 * @param enabled true to test enabling background sync, false to test disab ling the feature. 583 * @param enabled true to test enabling background sync, false to test disab ling the feature.
640 */ 584 */
641 private void doTestBackgroundSyncPermission(final boolean enabled) { 585 private void doTestBackgroundSyncPermission(final boolean enabled) {
642 setEnableBackgroundSync(enabled); 586 setEnableBackgroundSync(enabled);
643 ThreadUtils.runOnUiThreadBlocking(new Runnable() { 587 ThreadUtils.runOnUiThreadBlocking(new Runnable() {
644 @Override 588 @Override
645 public void run() { 589 public void run() {
646 assertEquals("Background Sync should be " + (enabled ? "enabled" : "disabled"), 590 assertEquals("Background Sync should be " + (enabled ? "enabled" : "disabled"),
647 PrefServiceBridge.getInstance().isBackgroundSyncAllowed( ), enabled); 591 PrefServiceBridge.getInstance().isBackgroundSyncAllowed( ), enabled);
(...skipping 19 matching lines...) Expand all
667 public Integer call() throws Exception { 611 public Integer call() throws Exception {
668 if (FeatureUtilities.isDocumentMode(getInstrumentation().getTarg etContext())) { 612 if (FeatureUtilities.isDocumentMode(getInstrumentation().getTarg etContext())) {
669 return ChromeApplication.getDocumentTabModelSelector().getTo talTabCount(); 613 return ChromeApplication.getDocumentTabModelSelector().getTo talTabCount();
670 } else { 614 } else {
671 return getActivity().getTabModelSelector().getTotalTabCount( ); 615 return getActivity().getTabModelSelector().getTotalTabCount( );
672 } 616 }
673 } 617 }
674 }); 618 });
675 } 619 }
676 } 620 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698