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

Side by Side Diff: chrome/test/data/extensions/api_test/webrequest/test_api.js

Issue 8775046: Convert another batch of extension tests to manifest_version 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 chrome.test.runTests([
6 function addListeners() {
7 chrome.webRequest.onBeforeRequest.addListener(
8 function(details) {});
9 chrome.webRequest.onBeforeSendHeaders.addListener(
10 function(details) {});
11 chrome.webRequest.onSendHeaders.addListener(
12 function(details) {});
13 chrome.webRequest.onHeadersReceived.addListener(
14 function(details) {});
15 chrome.webRequest.onBeforeRedirect.addListener(
16 function(details) {});
17 chrome.webRequest.onResponseStarted.addListener(
18 function(details) {});
19 chrome.webRequest.onCompleted.addListener(
20 function(details) {});
21 chrome.webRequest.onErrorOccurred.addListener(
22 function(details) {});
23 chrome.webRequest.onAuthRequired.addListener(
24 function(details) {});
25 chrome.test.succeed();
26 },
27
28 // Tests that we can remove a listener and it goes away.
29 // http://crbug.com/96755
30 function removeListeners() {
31 function newCallback(value) {
32 return function(details) { console.log(value); };
33 }
34 var cb1 = newCallback(1);
35 var cb2 = newCallback(2);
36 var event = chrome.webRequest.onBeforeRequest;
37 event.addListener(cb1);
38 event.addListener(cb2);
39 chrome.test.assertTrue(event.hasListener(cb1));
40 chrome.test.assertTrue(event.hasListener(cb2));
41 event.removeListener(cb1);
42 chrome.test.assertFalse(event.hasListener(cb1));
43 chrome.test.assertTrue(event.hasListener(cb2));
44 event.removeListener(cb2);
45 chrome.test.assertFalse(event.hasListener(cb1));
46 chrome.test.assertFalse(event.hasListener(cb2));
47 chrome.test.succeed();
48 },
49
50 // Tests that the extra parameters to addListener are checked for invalid
51 // values.
52 function specialEvents() {
53 var goodFilter = {urls: ["http://*.google.com/*"]};
54 var goodExtraInfo = ["blocking"];
55 chrome.webRequest.onBeforeRequest.addListener(
56 function(details) {},
57 goodFilter, goodExtraInfo);
58
59 // Try a bad RequestFilter.
60 try {
61 chrome.webRequest.onBeforeRequest.addListener(
62 function(details) {},
63 {badFilter: 42}, goodExtraInfo);
64 chrome.test.fail();
65 } catch (e) {
66 chrome.test.assertTrue(e.message.search("Invalid value") >= 0);
67 }
68
69 // Try a bad ExtraInfoSpec.
70 try {
71 chrome.webRequest.onBeforeRequest.addListener(
72 function(details) {},
73 goodFilter, ["badExtraInfo"]);
74 chrome.test.fail();
75 } catch (e) {
76 chrome.test.assertTrue(e.message.search("Invalid value") >= 0);
77 }
78
79 // This extraInfoSpec should only work for onBeforeSendHeaders.
80 var headersExtraInfo = ["requestHeaders"];
81 chrome.webRequest.onBeforeSendHeaders.addListener(
82 function(details) {},
83 goodFilter, headersExtraInfo);
84 try {
85 chrome.webRequest.onBeforeRequest.addListener(
86 function(details) {},
87 goodFilter, headersExtraInfo);
88 chrome.test.fail();
89 } catch (e) {
90 chrome.test.assertTrue(e.message.search("Invalid value") >= 0);
91 }
92
93 // ExtraInfoSpec with "responseHeaders" should work for onCompleted.
94 headersExtraInfo = ["responseHeaders"];
95 chrome.webRequest.onCompleted.addListener(
96 function(details) {},
97 goodFilter, headersExtraInfo);
98 try {
99 chrome.webRequest.onBeforeRequest.addListener(
100 function(details) {},
101 goodFilter, headersExtraInfo);
102 chrome.test.fail();
103 } catch (e) {
104 chrome.test.assertTrue(e.message.search("Invalid value") >= 0);
105 }
106
107 // Try a bad URL pattern. The error happens asynchronously. We're just
108 // verifying that the browser doesn't crash.
109 var emptyCallback = function (details) {};
110 chrome.webRequest.onBeforeRequest.addListener(
111 emptyCallback,
112 {urls: ["badpattern://*"]});
113 chrome.webRequest.onBeforeRequest.removeListener(
114 emptyCallback);
115
116 chrome.test.succeed();
117 },
118 ]);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698