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..ec7b12d1f1ad603f4e52fff6ad5f28b8cd5b2dd5 100644 |
--- a/chrome/test/data/webui/settings/site_settings_category_tests.js |
+++ b/chrome/test/data/webui/settings/site_settings_category_tests.js |
@@ -121,15 +121,6 @@ cr.define('site_settings_category', function() { |
if (category != settings.ContentSettingsTypes.FULLSCREEN && |
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)); |
Finnur
2016/08/29 11:26:27
I don't think we need to remove these... They catc
tommycli
2016/08/29 18:31:47
Done.
|
} |
// All categories have an icon and a title. |
@@ -139,6 +130,120 @@ cr.define('site_settings_category', function() { |
'', testElement.computeTitleForContentCategory(category)); |
} |
}); |
+ |
+ test('test special tri-state Flash category', function() { |
+ browserProxy.setPrefs({ |
+ defaults: { |
+ plugins: 'detect', |
Finnur
2016/08/29 11:26:27
Wait, should this string not match this one?
http
tommycli
2016/08/29 18:31:47
Done. Oops.
|
+ }, |
+ exceptions: { |
+ plugins: [], |
+ }, |
+ }); |
Finnur
2016/08/29 11:26:27
nit: I've made it a habit to group these at the to
tommycli
2016/08/29 18:31:47
Done.
|
+ |
+ 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) { |
+ // 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); |
Finnur
2016/08/29 11:26:27
This is a bit non-intuitive (to me, at least). If
tommycli
2016/08/29 18:31:47
Basically - we don't want the checkbox unchecked u
|
+ |
+ 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); |
+ });; |
+ }); |
}); |
} |