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 2071c4fe8d004323b8e99dbb5fdab390435c52ea..c9524ab41815b7df76fc89bd3f795a9beae0d672 100644 |
| --- a/chrome/test/data/webui/settings/site_settings_category_tests.js |
| +++ b/chrome/test/data/webui/settings/site_settings_category_tests.js |
| @@ -56,6 +56,19 @@ cr.define('site_settings_category', function() { |
| }, |
| }; |
| + /** |
| + * An example pref where the Cookies category is set on delete when |
|
dschuyler
2016/09/06 18:36:43
optional: Maybe change 'on' --> 'to'
An example p
Finnur
2016/09/08 09:59:39
Done.
|
| + * session ends. |
| + */ |
| + var prefsCookesSessionOnly = { |
| + defaults: { |
| + cookies: 'session_only', |
| + }, |
| + exceptions: { |
| + cookies: [], |
| + }, |
| + }; |
| + |
| // Import necessary html before running suite. |
| suiteSetup(function() { |
| return PolymerTest.importHtml( |
| @@ -150,6 +163,12 @@ cr.define('site_settings_category', function() { |
| assertNotEquals('', testElement.computeCategoryDesc( |
| category, settings.PermissionValues.IMPORTANT_CONTENT, |
| false)); |
| + } else if (category == settings.ContentSettingsTypes.COOKIES) { |
| + assertNotEquals('', testElement.computeCategoryDesc( |
| + category, settings.PermissionValues.SESSION_ONLY, true)); |
| + assertNotEquals('', testElement.computeCategoryDesc( |
| + category, settings.PermissionValues.SESSION_ONLY, |
| + false)); |
|
dschuyler
2016/09/06 18:36:43
nit: unwrap a bit.
Finnur
2016/09/08 09:59:39
Done.
|
| } |
| } |
| @@ -161,21 +180,20 @@ cr.define('site_settings_category', function() { |
| } |
| }); |
| - test('test special tri-state Flash category', function() { |
| - browserProxy.setPrefs(prefsFlashDetect); |
| + function testTristateCategory(prefs, category, thirdState, checkbox) { |
| + browserProxy.setPrefs(prefs); |
| - testElement.category = settings.ContentSettingsTypes.PLUGINS; |
| + testElement.category = category; |
| var askCheckbox = null; |
| return browserProxy.whenCalled('getDefaultValueForContentType').then( |
| function(contentType) { |
| Polymer.dom.flush(); |
| - askCheckbox = testElement.$$('#flashAskCheckbox'); |
| + askCheckbox = testElement.$$(checkbox); |
| assertTrue(!!askCheckbox); |
| - assertEquals( |
| - settings.ContentSettingsTypes.PLUGINS, contentType); |
| + assertEquals(category, contentType); |
| assertTrue(testElement.categoryEnabled); |
| assertFalse(askCheckbox.disabled); |
| assertTrue(askCheckbox.checked); |
| @@ -183,11 +201,10 @@ cr.define('site_settings_category', function() { |
| MockInteractions.tap(testElement.$.toggle); |
| return browserProxy.whenCalled('setDefaultValueForContentType'); |
| }).then(function(arguments) { |
| - // Check DETECT => BLOCK transition succeeded. |
| + // Check THIRD_STATE => BLOCK transition succeeded. |
| Polymer.dom.flush(); |
| - assertEquals( |
| - settings.ContentSettingsTypes.PLUGINS, arguments[0]); |
| + assertEquals(category, arguments[0]); |
| assertEquals(settings.PermissionValues.BLOCK, arguments[1]); |
| assertFalse(testElement.categoryEnabled); |
| assertTrue(askCheckbox.disabled); |
| @@ -197,13 +214,11 @@ cr.define('site_settings_category', function() { |
| MockInteractions.tap(testElement.$.toggle); |
| return browserProxy.whenCalled('setDefaultValueForContentType'); |
| }).then(function(arguments) { |
| - // Check BLOCK => DETECT transition succeeded. |
| + // Check BLOCK => THIRD_STATE transition succeeded. |
| Polymer.dom.flush(); |
| - assertEquals( |
| - settings.ContentSettingsTypes.PLUGINS, arguments[0]); |
| - assertEquals( |
| - settings.PermissionValues.IMPORTANT_CONTENT, arguments[1]); |
| + assertEquals(category, arguments[0]); |
| + assertEquals(thirdState, arguments[1]); |
| assertTrue(testElement.categoryEnabled); |
| assertFalse(askCheckbox.disabled); |
| assertTrue(askCheckbox.checked); |
| @@ -212,11 +227,10 @@ cr.define('site_settings_category', function() { |
| MockInteractions.tap(askCheckbox); |
| return browserProxy.whenCalled('setDefaultValueForContentType'); |
| }).then(function(arguments) { |
| - // Check DETECT => ALLOW transition succeeded. |
| + // Check THIRD_STATE => ALLOW transition succeeded. |
| Polymer.dom.flush(); |
| - assertEquals( |
| - settings.ContentSettingsTypes.PLUGINS, arguments[0]); |
| + assertEquals(category, arguments[0]); |
| assertEquals( |
| settings.PermissionValues.ALLOW, arguments[1]); |
| assertTrue(testElement.categoryEnabled); |
| @@ -230,8 +244,7 @@ cr.define('site_settings_category', function() { |
| // Check ALLOW => BLOCK transition succeeded. |
| Polymer.dom.flush(); |
| - assertEquals( |
| - settings.ContentSettingsTypes.PLUGINS, arguments[0]); |
| + assertEquals(category, arguments[0]); |
| assertEquals(settings.PermissionValues.BLOCK, arguments[1]); |
| assertFalse(testElement.categoryEnabled); |
| assertTrue(askCheckbox.disabled); |
| @@ -244,8 +257,7 @@ cr.define('site_settings_category', function() { |
| // Check BLOCK => ALLOW transition succeeded. |
| Polymer.dom.flush(); |
| - assertEquals( |
| - settings.ContentSettingsTypes.PLUGINS, arguments[0]); |
| + assertEquals(category, arguments[0]); |
| assertEquals(settings.PermissionValues.ALLOW, arguments[1]); |
| assertTrue(testElement.categoryEnabled); |
| assertFalse(askCheckbox.disabled); |
| @@ -255,18 +267,28 @@ cr.define('site_settings_category', function() { |
| MockInteractions.tap(askCheckbox); |
| return browserProxy.whenCalled('setDefaultValueForContentType'); |
| }).then(function(arguments) { |
| - // Check ALLOW => DETECT transition succeeded. |
| + // Check ALLOW => THIRD_STATE transition succeeded. |
| Polymer.dom.flush(); |
| - assertEquals( |
| - settings.ContentSettingsTypes.PLUGINS, arguments[0]); |
| - assertEquals( |
| - settings.PermissionValues.IMPORTANT_CONTENT, arguments[1]); |
| + assertEquals(category, arguments[0]); |
| + assertEquals(thirdState, arguments[1]); |
| assertTrue(testElement.categoryEnabled); |
| assertFalse(askCheckbox.disabled); |
| assertTrue(askCheckbox.checked); |
| - });; |
| - }); |
| + }); |
| + } |
| + |
| + test('test special tri-state Flash category', function() { |
| + return testTristateCategory( |
| + prefsFlashDetect, settings.ContentSettingsTypes.PLUGINS, |
| + settings.PermissionValues.IMPORTANT_CONTENT, '#flashAskCheckbox'); |
| + }); |
| + |
| + test('test special tri-state Cookies category', function() { |
| + return testTristateCategory( |
| + prefsCookesSessionOnly, settings.ContentSettingsTypes.COOKIES, |
| + settings.PermissionValues.SESSION_ONLY, '#sessionOnlyCheckbox'); |
| + }); |
| }); |
| } |