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

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

Issue 2862463002: [MD settings] split up site settings tests (Closed)
Patch Set: mocha grep Created 3 years, 7 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
Index: chrome/test/data/webui/settings/category_default_setting_tests.js
diff --git a/chrome/test/data/webui/settings/category_default_setting_tests.js b/chrome/test/data/webui/settings/category_default_setting_tests.js
index 12085f7ef064eb300f7f62aae875e0f01eb543a5..6c2007f6745ddd682cdc3cdebfaddb5e5cfe76e4 100644
--- a/chrome/test/data/webui/settings/category_default_setting_tests.js
+++ b/chrome/test/data/webui/settings/category_default_setting_tests.js
@@ -3,246 +3,241 @@
// found in the LICENSE file.
/** @fileoverview Suite of tests for category-default-setting. */
-cr.define('category_default_setting', function() {
- function registerTests() {
- suite('CategoryDefaultSetting', function() {
- /**
- * A site settings category created before each test.
- * @type {SiteSettingsCategory}
- */
- var testElement;
-
- /**
- * The mock proxy object to use during test.
- * @type {TestSiteSettingsPrefsBrowserProxy}
- */
- var browserProxy = null;
-
- /**
- * An example pref where the location category is disabled.
- * @type {SiteSettingsPref}
- */
- var prefsLocationDisabled = {
- defaults: {
- geolocation: {
- setting: 'block',
- },
- },
- exceptions: {
- geolocation: [],
- },
- };
-
- /**
- * An example pref where the location category is enabled.
- * @type {SiteSettingsPref}
- */
- var prefsLocationEnabled = {
- defaults: {
- geolocation: {
- setting: 'allow',
- },
- },
- exceptions: {
- geolocation: [],
- },
- };
-
- /**
- * An example pref where the Flash category is set on detect mode.
- */
- var prefsFlashDetect = {
- defaults: {
- plugins: {
- setting: 'detect_important_content',
- },
- },
- exceptions: {
- plugins: [],
- },
- };
-
- /**
- * An example pref where the Cookies category is set to delete when
- * session ends.
- */
- var prefsCookesSessionOnly = {
- defaults: {
- cookies: {
- setting: 'session_only',
- },
- },
- exceptions: {
- cookies: [],
- },
- };
-
- // Initialize a site-settings-category before each test.
- setup(function() {
- browserProxy = new TestSiteSettingsPrefsBrowserProxy();
- settings.SiteSettingsPrefsBrowserProxyImpl.instance_ = browserProxy;
- PolymerTest.clearBody();
- testElement = document.createElement('category-default-setting');
- testElement.subOptionLabel = "test label";
- document.body.appendChild(testElement);
- });
-
- test('getDefaultValueForContentType API used', function() {
- testElement.category = settings.ContentSettingsTypes.GEOLOCATION;
- return browserProxy.whenCalled('getDefaultValueForContentType').then(
- function(contentType) {
- assertEquals(
- settings.ContentSettingsTypes.GEOLOCATION, contentType);
- });
- });
-
- function testCategoryEnabled(testElement, enabled) {
- browserProxy.reset();
- browserProxy.setPrefs(
- enabled ? prefsLocationEnabled : prefsLocationDisabled);
-
- testElement.category = settings.ContentSettingsTypes.GEOLOCATION;
- return browserProxy.whenCalled('getDefaultValueForContentType').then(
- function(contentType) {
- assertEquals(
- settings.ContentSettingsTypes.GEOLOCATION, contentType);
- assertEquals(enabled, testElement.categoryEnabled);
- browserProxy.resetResolver('setDefaultValueForContentType');
- MockInteractions.tap(testElement.$.toggle.$.control);
- return browserProxy.whenCalled('setDefaultValueForContentType');
- }).then(function(args) {
- assertEquals(
- settings.ContentSettingsTypes.GEOLOCATION, args[0]);
- assertEquals(
- enabled ? settings.PermissionValues.BLOCK :
- settings.PermissionValues.ASK,
- args[1]);
- assertNotEquals(enabled, testElement.categoryEnabled);
- });
- }
-
- test('categoryEnabled correctly represents prefs (enabled)', function() {
- return testCategoryEnabled(testElement, true);
- });
-
- test('categoryEnabled correctly represents prefs (disabled)', function() {
- return testCategoryEnabled(testElement, false);
- });
-
- function testTristateCategory(prefs, category, thirdState,
- secondaryToggleId) {
- browserProxy.setPrefs(prefs);
-
- testElement.category = category;
- var secondaryToggle = null;
-
- return browserProxy.whenCalled('getDefaultValueForContentType').then(
- function(contentType) {
- Polymer.dom.flush();
- secondaryToggle = testElement.$$(secondaryToggleId);
- assertTrue(!!secondaryToggle);
-
- assertEquals(category, contentType);
- assertTrue(testElement.categoryEnabled);
- assertFalse(secondaryToggle.disabled);
- assertTrue(secondaryToggle.checked);
-
- browserProxy.resetResolver('setDefaultValueForContentType');
- MockInteractions.tap(testElement.$.toggle.$.control);
- return browserProxy.whenCalled('setDefaultValueForContentType');
- }).then(function(args) {
- // Check THIRD_STATE => BLOCK transition succeeded.
- Polymer.dom.flush();
-
- assertEquals(category, args[0]);
- assertEquals(settings.PermissionValues.BLOCK, args[1]);
- assertFalse(testElement.categoryEnabled);
- assertTrue(secondaryToggle.disabled);
- assertTrue(secondaryToggle.checked);
-
- browserProxy.resetResolver('setDefaultValueForContentType');
- MockInteractions.tap(testElement.$.toggle.$.control);
- return browserProxy.whenCalled('setDefaultValueForContentType');
- }).then(function(args) {
- // Check BLOCK => THIRD_STATE transition succeeded.
- Polymer.dom.flush();
-
- assertEquals(category, args[0]);
- assertEquals(thirdState, args[1]);
- assertTrue(testElement.categoryEnabled);
- assertFalse(secondaryToggle.disabled);
- assertTrue(secondaryToggle.checked);
-
- browserProxy.resetResolver('setDefaultValueForContentType');
- MockInteractions.tap(secondaryToggle.$.control);
- return browserProxy.whenCalled('setDefaultValueForContentType');
- }).then(function(args) {
- // Check THIRD_STATE => ALLOW transition succeeded.
- Polymer.dom.flush();
-
- assertEquals(category, args[0]);
- assertEquals(
- settings.PermissionValues.ALLOW, args[1]);
- assertTrue(testElement.categoryEnabled);
- assertFalse(secondaryToggle.disabled);
- assertFalse(secondaryToggle.checked);
-
- browserProxy.resetResolver('setDefaultValueForContentType');
- MockInteractions.tap(testElement.$.toggle.$.control);
- return browserProxy.whenCalled('setDefaultValueForContentType');
- }).then(function(args) {
- // Check ALLOW => BLOCK transition succeeded.
- Polymer.dom.flush();
-
- assertEquals(category, args[0]);
- assertEquals(settings.PermissionValues.BLOCK, args[1]);
- assertFalse(testElement.categoryEnabled);
- assertTrue(secondaryToggle.disabled);
- assertFalse(secondaryToggle.checked);
-
- browserProxy.resetResolver('setDefaultValueForContentType');
- MockInteractions.tap(testElement.$.toggle.$.control);
- return browserProxy.whenCalled('setDefaultValueForContentType');
- }).then(function(args) {
- // Check BLOCK => ALLOW transition succeeded.
- Polymer.dom.flush();
-
- assertEquals(category, args[0]);
- assertEquals(settings.PermissionValues.ALLOW, args[1]);
- assertTrue(testElement.categoryEnabled);
- assertFalse(secondaryToggle.disabled);
- assertFalse(secondaryToggle.checked);
-
- browserProxy.resetResolver('setDefaultValueForContentType');
- MockInteractions.tap(secondaryToggle.$.control);
- return browserProxy.whenCalled('setDefaultValueForContentType');
- }).then(function(args) {
- // Check ALLOW => THIRD_STATE transition succeeded.
- Polymer.dom.flush();
-
- assertEquals(category, args[0]);
- assertEquals(thirdState, args[1]);
- assertTrue(testElement.categoryEnabled);
- assertFalse(secondaryToggle.disabled);
- assertTrue(secondaryToggle.checked);
- });
- }
-
- test('test special tri-state Flash category', function() {
- return testTristateCategory(
- prefsFlashDetect, settings.ContentSettingsTypes.PLUGINS,
- settings.PermissionValues.IMPORTANT_CONTENT, '#subOptionToggle');
- });
-
- test('test special tri-state Cookies category', function() {
- return testTristateCategory(
- prefsCookesSessionOnly, settings.ContentSettingsTypes.COOKIES,
- settings.PermissionValues.SESSION_ONLY, '#subOptionToggle');
- });
- });
- }
+suite('CategoryDefaultSetting', function() {
+ /**
+ * A site settings category created before each test.
+ * @type {SiteSettingsCategory}
+ */
+ var testElement;
+
+ /**
+ * The mock proxy object to use during test.
+ * @type {TestSiteSettingsPrefsBrowserProxy}
+ */
+ var browserProxy = null;
+
+ /**
+ * An example pref where the location category is disabled.
+ * @type {SiteSettingsPref}
+ */
+ var prefsLocationDisabled = {
+ defaults: {
+ geolocation: {
+ setting: 'block',
+ },
+ },
+ exceptions: {
+ geolocation: [],
+ },
+ };
+
+ /**
+ * An example pref where the location category is enabled.
+ * @type {SiteSettingsPref}
+ */
+ var prefsLocationEnabled = {
+ defaults: {
+ geolocation: {
+ setting: 'allow',
+ },
+ },
+ exceptions: {
+ geolocation: [],
+ },
+ };
+
+ /**
+ * An example pref where the Flash category is set on detect mode.
+ */
+ var prefsFlashDetect = {
+ defaults: {
+ plugins: {
+ setting: 'detect_important_content',
+ },
+ },
+ exceptions: {
+ plugins: [],
+ },
+ };
- return {
- registerTests: registerTests,
+ /**
+ * An example pref where the Cookies category is set to delete when
+ * session ends.
+ */
+ var prefsCookesSessionOnly = {
+ defaults: {
+ cookies: {
+ setting: 'session_only',
+ },
+ },
+ exceptions: {
+ cookies: [],
+ },
};
+
+ // Initialize a site-settings-category before each test.
+ setup(function() {
+ browserProxy = new TestSiteSettingsPrefsBrowserProxy();
+ settings.SiteSettingsPrefsBrowserProxyImpl.instance_ = browserProxy;
+ PolymerTest.clearBody();
+ testElement = document.createElement('category-default-setting');
+ testElement.subOptionLabel = 'test label';
+ document.body.appendChild(testElement);
+ });
+
+ test('getDefaultValueForContentType API used', function() {
+ testElement.category = settings.ContentSettingsTypes.GEOLOCATION;
+ return browserProxy.whenCalled('getDefaultValueForContentType')
+ .then(function(contentType) {
+ assertEquals(settings.ContentSettingsTypes.GEOLOCATION, contentType);
+ });
+ });
+
+ function testCategoryEnabled(testElement, enabled) {
+ browserProxy.reset();
+ browserProxy.setPrefs(
+ enabled ? prefsLocationEnabled : prefsLocationDisabled);
+
+ testElement.category = settings.ContentSettingsTypes.GEOLOCATION;
+ return browserProxy.whenCalled('getDefaultValueForContentType')
+ .then(function(contentType) {
+ assertEquals(settings.ContentSettingsTypes.GEOLOCATION, contentType);
+ assertEquals(enabled, testElement.categoryEnabled);
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(testElement.$.toggle.$.control);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ })
+ .then(function(args) {
+ assertEquals(settings.ContentSettingsTypes.GEOLOCATION, args[0]);
+ assertEquals(
+ enabled ? settings.PermissionValues.BLOCK :
+ settings.PermissionValues.ASK,
+ args[1]);
+ assertNotEquals(enabled, testElement.categoryEnabled);
+ });
+ }
+
+ test('categoryEnabled correctly represents prefs (enabled)', function() {
+ return testCategoryEnabled(testElement, true);
+ });
+
+ test('categoryEnabled correctly represents prefs (disabled)', function() {
+ return testCategoryEnabled(testElement, false);
+ });
+
+ function testTristateCategory(
+ prefs, category, thirdState, secondaryToggleId) {
+ browserProxy.setPrefs(prefs);
+
+ testElement.category = category;
+ var secondaryToggle = null;
+
+ return browserProxy.whenCalled('getDefaultValueForContentType')
+ .then(function(contentType) {
+ Polymer.dom.flush();
+ secondaryToggle = testElement.$$(secondaryToggleId);
+ assertTrue(!!secondaryToggle);
+
+ assertEquals(category, contentType);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(secondaryToggle.disabled);
+ assertTrue(secondaryToggle.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(testElement.$.toggle.$.control);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ })
+ .then(function(args) {
+ // Check THIRD_STATE => BLOCK transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(category, args[0]);
+ assertEquals(settings.PermissionValues.BLOCK, args[1]);
+ assertFalse(testElement.categoryEnabled);
+ assertTrue(secondaryToggle.disabled);
+ assertTrue(secondaryToggle.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(testElement.$.toggle.$.control);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ })
+ .then(function(args) {
+ // Check BLOCK => THIRD_STATE transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(category, args[0]);
+ assertEquals(thirdState, args[1]);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(secondaryToggle.disabled);
+ assertTrue(secondaryToggle.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(secondaryToggle.$.control);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ })
+ .then(function(args) {
+ // Check THIRD_STATE => ALLOW transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(category, args[0]);
+ assertEquals(settings.PermissionValues.ALLOW, args[1]);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(secondaryToggle.disabled);
+ assertFalse(secondaryToggle.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(testElement.$.toggle.$.control);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ })
+ .then(function(args) {
+ // Check ALLOW => BLOCK transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(category, args[0]);
+ assertEquals(settings.PermissionValues.BLOCK, args[1]);
+ assertFalse(testElement.categoryEnabled);
+ assertTrue(secondaryToggle.disabled);
+ assertFalse(secondaryToggle.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(testElement.$.toggle.$.control);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ })
+ .then(function(args) {
+ // Check BLOCK => ALLOW transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(category, args[0]);
+ assertEquals(settings.PermissionValues.ALLOW, args[1]);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(secondaryToggle.disabled);
+ assertFalse(secondaryToggle.checked);
+
+ browserProxy.resetResolver('setDefaultValueForContentType');
+ MockInteractions.tap(secondaryToggle.$.control);
+ return browserProxy.whenCalled('setDefaultValueForContentType');
+ })
+ .then(function(args) {
+ // Check ALLOW => THIRD_STATE transition succeeded.
+ Polymer.dom.flush();
+
+ assertEquals(category, args[0]);
+ assertEquals(thirdState, args[1]);
+ assertTrue(testElement.categoryEnabled);
+ assertFalse(secondaryToggle.disabled);
+ assertTrue(secondaryToggle.checked);
+ });
+ }
+
+ test('test special tri-state Flash category', function() {
+ return testTristateCategory(
+ prefsFlashDetect, settings.ContentSettingsTypes.PLUGINS,
+ settings.PermissionValues.IMPORTANT_CONTENT, '#subOptionToggle');
+ });
+
+ test('test special tri-state Cookies category', function() {
+ return testTristateCategory(
+ prefsCookesSessionOnly, settings.ContentSettingsTypes.COOKIES,
+ settings.PermissionValues.SESSION_ONLY, '#subOptionToggle');
+ });
});

Powered by Google App Engine
This is Rietveld 408576698