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

Unified Diff: chrome/test/data/extensions/api_test/content_settings/standard/test.js

Issue 8725019: Move another bunch of extension API tests to manifest_version 2. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 1 month 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/extensions/api_test/content_settings/standard/test.js
===================================================================
--- chrome/test/data/extensions/api_test/content_settings/standard/test.js (revision 0)
+++ chrome/test/data/extensions/api_test/content_settings/standard/test.js (revision 0)
@@ -0,0 +1,95 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Content settings API test
+// Run with browser_tests --gtest_filter=ExtensionApiTest.ContentSettings
+
+var cs = chrome.contentSettings;
+var default_content_settings = {
+ "cookies": "session_only",
+ "images": "allow",
+ "javascript": "block",
+ "plugins": "allow",
+ "popups": "block",
+ // TODO(bauerb)
+ // "geolocation": "ask",
+ "notifications": "ask"
+};
+
+var settings = {
+ "cookies": "block",
+ "images": "allow",
+ "javascript": "block",
+ "plugins": "block",
+ "popups": "allow",
+ // "geolocation": "block",
+ "notifications": "block"
+};
+
+Object.prototype.forEach = function(f) {
+ var k;
+ for (k in this) {
+ if (this.hasOwnProperty(k))
+ f(k, this[k]);
+ }
+};
+
+function expect(expected, message) {
+ return chrome.test.callbackPass(function(value) {
+ chrome.test.assertEq(expected, value, message);
+ });
+}
+
+function expectFalse(message) {
+ return expect({
+ "value": false,
+ "levelOfControl": "controllable_by_this_extension"
+ }, message);
+}
+
+chrome.test.runTests([
+ function setDefaultContentSettings() {
+ default_content_settings.forEach(function(type, setting) {
+ cs[type].set({
+ 'primaryPattern': '<all_urls>',
+ 'secondaryPattern': '<all_urls>',
+ 'setting': setting
+ }, chrome.test.callbackPass());
+ });
+ },
+ function setContentSettings() {
+ settings.forEach(function(type, setting) {
+ cs[type].set({
+ 'primaryPattern': 'http://*.google.com/*',
+ 'secondaryPattern': 'http://*.google.com/*',
+ 'setting': setting
+ }, chrome.test.callbackPass());
+ });
+ },
+ function getContentSettings() {
+ settings.forEach(function(type, setting) {
+ var message = "Setting for " + type + " should be " + setting;
+ cs[type].get({
+ 'primaryUrl': 'http://www.google.com',
+ 'secondaryUrl': 'http://www.google.com'
+ }, expect({'setting':setting}, message));
+ });
+ },
+ function invalidSettings() {
+ cs.cookies.get({
+ 'primaryUrl': 'moo'
+ }, chrome.test.callbackFail("The URL \"moo\" is invalid."));
+ cs.plugins.set({
+ 'primaryPattern': 'http://example.com/*',
+ 'secondaryPattern': 'http://example.com/path',
+ 'setting': 'block'
+ }, chrome.test.callbackFail("Specific paths are not allowed."));
+ cs.javascript.set({
+ 'primaryPattern': 'http://example.com/*',
+ 'secondaryPattern': 'file:///home/hansmoleman/*',
+ 'setting': 'allow'
+ }, chrome.test.callbackFail(
+ "Path wildcards in file URL patterns are not allowed."));
+ }
+]);

Powered by Google App Engine
This is Rietveld 408576698