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

Unified Diff: chrome/test/data/webui/settings/site_settings_category_tests.js

Issue 2280233002: [HBD] Update MD Site Settings Plugins section to show 3rd mode checkbox. (Closed)
Patch Set: merge origin/master Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/webui/settings/site_settings_category_tests.js
diff --git a/chrome/test/data/webui/settings/site_settings_category_tests.js b/chrome/test/data/webui/settings/site_settings_category_tests.js
index 8f68198dab0f84f77cccac440c596595c0ab81e8..2071c4fe8d004323b8e99dbb5fdab390435c52ea 100644
--- a/chrome/test/data/webui/settings/site_settings_category_tests.js
+++ b/chrome/test/data/webui/settings/site_settings_category_tests.js
@@ -44,6 +44,18 @@ cr.define('site_settings_category', function() {
},
};
+ /**
+ * An example pref where the Flash category is set on detect mode.
+ */
+ var prefsFlashDetect = {
+ defaults: {
+ plugins: 'detect_important_content',
+ },
+ exceptions: {
+ plugins: [],
+ },
+ };
+
// Import necessary html before running suite.
suiteSetup(function() {
return PolymerTest.importHtml(
@@ -122,14 +134,23 @@ cr.define('site_settings_category', function() {
category != settings.ContentSettingsTypes.USB_DEVICES) {
assertNotEquals('', testElement.computeCategoryTextId(category));
- assertNotEquals(
- '', testElement.computeCategoryDesc(category, true, true));
- assertNotEquals(
- '', testElement.computeCategoryDesc(category, true, false));
- assertNotEquals(
- '', testElement.computeCategoryDesc(category, false, true));
- assertNotEquals(
- '', testElement.computeCategoryDesc(category, false, false));
+ assertNotEquals('', testElement.computeCategoryDesc(
+ category, settings.PermissionValues.ALLOW, true));
+ assertNotEquals('', testElement.computeCategoryDesc(
+ category, settings.PermissionValues.ALLOW, false));
+ assertNotEquals('', testElement.computeCategoryDesc(
+ category, settings.PermissionValues.BLOCK, true));
+ assertNotEquals('', testElement.computeCategoryDesc(
+ category, settings.PermissionValues.BLOCK, false));
+
+ // Test additional tri-state values:
+ if (category == settings.ContentSettingsTypes.PLUGINS) {
+ assertNotEquals('', testElement.computeCategoryDesc(
+ category, settings.PermissionValues.IMPORTANT_CONTENT, true));
+ assertNotEquals('', testElement.computeCategoryDesc(
+ category, settings.PermissionValues.IMPORTANT_CONTENT,
+ false));
+ }
}
// All categories have an icon and a title.
@@ -139,6 +160,113 @@ cr.define('site_settings_category', function() {
'', testElement.computeTitleForContentCategory(category));
}
});
+
+ test('test special tri-state Flash category', function() {
+ browserProxy.setPrefs(prefsFlashDetect);
+
+ testElement.category = settings.ContentSettingsTypes.PLUGINS;
+ var askCheckbox = null;
+
+ return browserProxy.whenCalled('getDefaultValueForContentType').then(
+ function(contentType) {
+ Polymer.dom.flush();
+
+ askCheckbox = testElement.$$('#flashAskCheckbox');
+ assertTrue(!!askCheckbox);
+
+ assertEquals(
+ settings.ContentSettingsTypes.PLUGINS, contentType);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(askCheckbox.disabled);
+ assertTrue(askCheckbox.checked);
+
+ MockInteractions.tap(testElement.$.toggle);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ }).then(function(arguments) {
Finnur 2016/09/29 11:19:03 Apologies for raising an old thread here, but Dave
+ // Check DETECT => BLOCK transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(
+ settings.ContentSettingsTypes.PLUGINS, arguments[0]);
+ assertEquals(settings.PermissionValues.BLOCK, arguments[1]);
+ assertFalse(testElement.categoryEnabled);
+ assertTrue(askCheckbox.disabled);
+ assertTrue(askCheckbox.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(testElement.$.toggle);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ }).then(function(arguments) {
+ // Check BLOCK => DETECT transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(
+ settings.ContentSettingsTypes.PLUGINS, arguments[0]);
+ assertEquals(
+ settings.PermissionValues.IMPORTANT_CONTENT, arguments[1]);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(askCheckbox.disabled);
+ assertTrue(askCheckbox.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(askCheckbox);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ }).then(function(arguments) {
+ // Check DETECT => ALLOW transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(
+ settings.ContentSettingsTypes.PLUGINS, arguments[0]);
+ assertEquals(
+ settings.PermissionValues.ALLOW, arguments[1]);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(askCheckbox.disabled);
+ assertFalse(askCheckbox.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(testElement.$.toggle);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ }).then(function(arguments) {
+ // Check ALLOW => BLOCK transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(
+ settings.ContentSettingsTypes.PLUGINS, arguments[0]);
+ assertEquals(settings.PermissionValues.BLOCK, arguments[1]);
+ assertFalse(testElement.categoryEnabled);
+ assertTrue(askCheckbox.disabled);
+ assertFalse(askCheckbox.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(testElement.$.toggle);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ }).then(function(arguments) {
+ // Check BLOCK => ALLOW transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(
+ settings.ContentSettingsTypes.PLUGINS, arguments[0]);
+ assertEquals(settings.PermissionValues.ALLOW, arguments[1]);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(askCheckbox.disabled);
+ assertFalse(askCheckbox.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(askCheckbox);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ }).then(function(arguments) {
+ // Check ALLOW => DETECT transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(
+ settings.ContentSettingsTypes.PLUGINS, arguments[0]);
+ assertEquals(
+ settings.PermissionValues.IMPORTANT_CONTENT, arguments[1]);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(askCheckbox.disabled);
+ assertTrue(askCheckbox.checked);
+ });;
+ });
});
}
« no previous file with comments | « chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698