Chromium Code Reviews| 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); |
| + });; |
| + }); |
| }); |
| } |