| 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 230ca937d7c76cf28c53897f1af44a91198aad2e..9568cfe0adb08efac2bbf38a9571000fa244310e 100644
|
| --- a/chrome/test/data/webui/settings/site_settings_category_tests.js
|
| +++ b/chrome/test/data/webui/settings/site_settings_category_tests.js
|
| @@ -59,23 +59,6 @@ cr.define('site_settings_category', function() {
|
| document.body.appendChild(testElement);
|
| });
|
|
|
| - /**
|
| - * Returns a promise that resolves once the selected item is updated.
|
| - * @param {function()} action is executed after the listener is set up.
|
| - * @return {!Promise} a Promise fulfilled when the selected item changes.
|
| - */
|
| - function runAndResolveWhenCategoryEnabledChanged(action) {
|
| - return new Promise(function(resolve, reject) {
|
| - var handler = function() {
|
| - testElement.removeEventListener(
|
| - 'category-enabled-changed', handler);
|
| - resolve();
|
| - };
|
| - testElement.addEventListener('category-enabled-changed', handler);
|
| - action();
|
| - });
|
| - }
|
| -
|
| test('getDefaultValueForContentType API used', function() {
|
| testElement.category = settings.ContentSettingsTypes.GEOLOCATION;
|
| return browserProxy.whenCalled('getDefaultValueForContentType').then(
|
| @@ -85,31 +68,37 @@ cr.define('site_settings_category', function() {
|
| });
|
| });
|
|
|
| + function testCategoryEnabled(testElement, enabled) {
|
| + 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);
|
| + MockInteractions.tap(testElement.$.toggle);
|
| + return browserProxy.whenCalled(
|
| + 'setDefaultValueForContentType').then(
|
| + function(arguments) {
|
| + assertEquals(
|
| + settings.ContentSettingsTypes.GEOLOCATION, arguments[0]);
|
| + assertEquals(
|
| + enabled ? settings.PermissionValues.BLOCK :
|
| + settings.PermissionValues.ASK,
|
| + arguments[1]);
|
| + assertNotEquals(enabled, testElement.categoryEnabled);
|
| + });
|
| + });
|
| + }
|
| +
|
| test('categoryEnabled correctly represents prefs (enabled)', function() {
|
| - return runAndResolveWhenCategoryEnabledChanged(function() {
|
| - browserProxy.setPrefs(prefsLocationEnabled);
|
| - testElement.category = settings.ContentSettingsTypes.GEOLOCATION;
|
| - }).then(function() {
|
| - assertTrue(testElement.categoryEnabled);
|
| - MockInteractions.tap(testElement.$.toggle);
|
| - assertFalse(testElement.categoryEnabled);
|
| - });
|
| + return testCategoryEnabled(testElement, true);
|
| });
|
|
|
| test('categoryEnabled correctly represents prefs (disabled)', function() {
|
| - // In order for the 'change' event to trigger, the value monitored needs
|
| - // to actually change (the event is not sent otherwise). Therefore,
|
| - // ensure the initial state of enabledness is opposite of what we expect
|
| - // it to end at.
|
| - testElement.categoryEnabled = true;
|
| - return runAndResolveWhenCategoryEnabledChanged(function() {
|
| - browserProxy.setPrefs(prefsLocationDisabled);
|
| - testElement.category = settings.ContentSettingsTypes.GEOLOCATION;
|
| - }).then(function() {
|
| - assertFalse(testElement.categoryEnabled);
|
| - MockInteractions.tap(testElement.$.toggle);
|
| - assertTrue(testElement.categoryEnabled);
|
| - });
|
| + return testCategoryEnabled(testElement, false);
|
| });
|
|
|
| test('basic category tests', function() {
|
|
|