Index: chrome/test/data/webui/settings/site_list_tests.js |
diff --git a/chrome/test/data/webui/settings/site_list_tests.js b/chrome/test/data/webui/settings/site_list_tests.js |
index bb260e52320d361e6550ec24517c6bf251acbeae..3ac239a477a44fb6019935e5735fecdc3058078a 100644 |
--- a/chrome/test/data/webui/settings/site_list_tests.js |
+++ b/chrome/test/data/webui/settings/site_list_tests.js |
@@ -282,6 +282,23 @@ cr.define('site_list', function() { |
} |
}; |
+ /** |
+ * An example Javascript pref with a chrome-extension:// scheme. |
+ * @type {SiteSettingsPref} |
+ */ |
+ var prefsChromeExtension = { |
+ exceptions: { |
+ javascript: [ |
+ { |
+ embeddingOrigin: '', |
+ origin: 'chrome-extension://cfhgfbfpcbnnbibfphagcjmgjfjmojfa/', |
+ setting: 'block', |
+ source: 'preference', |
+ }, |
+ ] |
+ } |
+ }; |
+ |
// Import necessary html before running suite. |
suiteSetup(function() { |
CrSettingsPrefs.setInitialized(); |
@@ -768,6 +785,27 @@ cr.define('site_list', function() { |
return browserProxy.whenCalled('setCategoryPermissionForOrigin'); |
}); |
}); |
+ |
+ test('Chrome Extension scheme', function() { |
+ setupCategory(settings.ContentSettingsTypes.JAVASCRIPT, |
+ settings.PermissionValues.BLOCK, prefsChromeExtension); |
+ return browserProxy.whenCalled('getExceptionList').then(function( |
+ contentType) { |
+ Polymer.dom.flush(); |
+ assertMenu(['Allow', 'Remove'], testElement); |
+ |
+ var menuItems = getMenuItems(testElement.$.listContainer, 0); |
+ assertTrue(!!menuItems); |
+ MockInteractions.tap(menuItems[0]); // Action: Allow. |
+ return browserProxy.whenCalled('setCategoryPermissionForOrigin'); |
+ }).then(function(arguments) { |
dschuyler
2016/09/28 19:13:40
|arguments| is a special value, like |this|.
So ar
|
+ assertEquals('chrome-extension://cfhgfbfpcbnnbibfphagcjmgjfjmojfa/', |
+ arguments[0]); |
+ assertEquals('', arguments[1]); |
+ assertEquals(settings.ContentSettingsTypes.JAVASCRIPT, arguments[2]); |
+ assertEquals('allow', arguments[3]); |
+ }); |
+ }); |
}); |
} |
return { |