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

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

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

Powered by Google App Engine
This is Rietveld 408576698