OLD | NEW |
1 <script> | 1 <script> |
2 var getURL = chrome.extension.getURL; | 2 var getURL = chrome.extension.getURL; |
3 var deepEq = chrome.test.checkDeepEq; | 3 var deepEq = chrome.test.checkDeepEq; |
4 var expectedEventData; | 4 var expectedEventData; |
5 var capturedEventData; | 5 var capturedEventData; |
6 var expectedEventOrder; | 6 var expectedEventOrder; |
7 var tabId; | 7 var tabId; |
8 var eventsCaptured; | 8 var eventsCaptured; |
9 | 9 |
10 // PORT will be changed to the port of the test server. | 10 // PORT will be changed to the port of the test server. |
11 var URL_HTTP_SIMPLE_LOAD = | 11 var URL_HTTP_SIMPLE_LOAD = |
12 'http://www.a.com:PORT/files/extensions/api_test/webrequest/events/simpleLoa
d/a.html'; | 12 'http://www.a.com:PORT/files/extensions/api_test/webrequest/events/simpleLoa
d/a.html'; |
13 var URL_HTTP_SIMPLE_LOAD_REDIRECT = | 13 var URL_HTTP_SIMPLE_LOAD_REDIRECT = |
14 'http://www.a.com:PORT/server-redirect?'+URL_HTTP_SIMPLE_LOAD; | 14 'http://www.a.com:PORT/server-redirect?'+URL_HTTP_SIMPLE_LOAD; |
15 var URL_ECHO_USER_AGENT = | 15 var URL_ECHO_USER_AGENT = |
16 'http://www.a.com:PORT/echoheader?User-Agent'; | 16 'http://www.a.com:PORT/echoheader?User-Agent'; |
17 var URL_AUTH_REQUIRED = | 17 var URL_AUTH_REQUIRED = |
18 'http://www.a.com:PORT/auth-basic'; | 18 'http://www.a.com:PORT/auth-basic'; |
19 var URL_HTTP_XHR = | |
20 'http://www.a.com:PORT/files/extensions/api_test/webrequest/events/xhr/a.htm
l'; | |
21 var URL_HTTP_XHR_DATA = | |
22 'http://www.a.com:PORT/files/extensions/api_test/webrequest/events/xhr/data.
json'; | |
23 | 19 |
24 function runTests(tests) { | 20 function runTests(tests) { |
25 chrome.tabs.getSelected(null, function(tab) { | 21 chrome.tabs.getSelected(null, function(tab) { |
26 tabId = tab.id; | 22 tabId = tab.id; |
27 chrome.test.getConfig(function(config) { | 23 chrome.test.getConfig(function(config) { |
28 var fixPort = function(url) { | 24 var fixPort = function(url) { |
29 return url.replace(/PORT/g, config.testServer.port); | 25 return url.replace(/PORT/g, config.testServer.port); |
30 }; | 26 }; |
31 URL_HTTP_SIMPLE_LOAD = fixPort(URL_HTTP_SIMPLE_LOAD); | 27 URL_HTTP_SIMPLE_LOAD = fixPort(URL_HTTP_SIMPLE_LOAD); |
32 URL_HTTP_SIMPLE_LOAD_REDIRECT = fixPort(URL_HTTP_SIMPLE_LOAD_REDIRECT); | 28 URL_HTTP_SIMPLE_LOAD_REDIRECT = fixPort(URL_HTTP_SIMPLE_LOAD_REDIRECT); |
33 URL_ECHO_USER_AGENT = fixPort(URL_ECHO_USER_AGENT); | 29 URL_ECHO_USER_AGENT = fixPort(URL_ECHO_USER_AGENT); |
34 URL_AUTH_REQUIRED = fixPort(URL_AUTH_REQUIRED); | 30 URL_AUTH_REQUIRED = fixPort(URL_AUTH_REQUIRED); |
35 URL_HTTP_XHR = fixPort(URL_HTTP_XHR); | |
36 URL_HTTP_XHR_DATA = fixPort(URL_HTTP_XHR_DATA); | |
37 | 31 |
38 chrome.test.runTests(tests); | 32 chrome.test.runTests(tests); |
39 }); | 33 }); |
40 }); | 34 }); |
41 } | 35 } |
42 | 36 |
43 // Helper to advance to the next test only when the tab has finished loading. | 37 // Helper to advance to the next test only when the tab has finished loading. |
44 // This is because tabs.update can sometimes fail if the tab is in the middle | 38 // This is because tabs.update can sometimes fail if the tab is in the middle |
45 // of a navigation (from the previous test), resulting in flakiness. | 39 // of a navigation (from the previous test), resulting in flakiness. |
46 function navigateAndWait(url, callback) { | 40 function navigateAndWait(url, callback) { |
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 [ // event order | 375 [ // event order |
382 ["onBeforeRequest-1", "onBeforeSendHeaders-1", "onSendHeaders-1", | 376 ["onBeforeRequest-1", "onBeforeSendHeaders-1", "onSendHeaders-1", |
383 "onBeforeRedirect", | 377 "onBeforeRedirect", |
384 "onBeforeRequest-2", "onBeforeSendHeaders-2", "onSendHeaders-2", | 378 "onBeforeRequest-2", "onBeforeSendHeaders-2", "onSendHeaders-2", |
385 "onResponseStarted", "onCompleted"] ], | 379 "onResponseStarted", "onCompleted"] ], |
386 {}, // filter | 380 {}, // filter |
387 ["requestHeaders", "responseHeaders", "statusLine"]); | 381 ["requestHeaders", "responseHeaders", "statusLine"]); |
388 navigateAndWait(URL_HTTP_SIMPLE_LOAD_REDIRECT); | 382 navigateAndWait(URL_HTTP_SIMPLE_LOAD_REDIRECT); |
389 }, | 383 }, |
390 | 384 |
391 // Navigates to a page to generates an XHR. | |
392 function xhrLoad() { | |
393 expect( | |
394 [ // events | |
395 { label: "onBeforeRequest-1", | |
396 event: "onBeforeRequest", | |
397 details: { | |
398 method: "GET", | |
399 tabId: tabId, | |
400 type: "main_frame", | |
401 url: URL_HTTP_XHR, | |
402 frameUrl: URL_HTTP_XHR | |
403 } | |
404 }, | |
405 { label: "onBeforeSendHeaders-1", | |
406 event: "onBeforeSendHeaders", | |
407 details: { | |
408 url: URL_HTTP_XHR, | |
409 } | |
410 }, | |
411 { label: "onSendHeaders-1", | |
412 event: "onSendHeaders", | |
413 details: { | |
414 url: URL_HTTP_XHR, | |
415 } | |
416 }, | |
417 { label: "onResponseStarted-1", | |
418 event: "onResponseStarted", | |
419 details: { | |
420 url: URL_HTTP_XHR, | |
421 statusCode: 200, | |
422 ip: "127.0.0.1", | |
423 fromCache: false, | |
424 } | |
425 }, | |
426 { label: "onCompleted-1", | |
427 event: "onCompleted", | |
428 details: { | |
429 url: URL_HTTP_XHR, | |
430 statusCode: 200, | |
431 ip: "127.0.0.1", | |
432 fromCache: false, | |
433 } | |
434 }, | |
435 { label: "onBeforeRequest-2", | |
436 event: "onBeforeRequest", | |
437 details: { | |
438 method: "GET", | |
439 tabId: tabId, | |
440 type: "xmlhttprequest", | |
441 url: URL_HTTP_XHR_DATA, | |
442 frameUrl: URL_HTTP_XHR | |
443 } | |
444 }, | |
445 { label: "onBeforeSendHeaders-2", | |
446 event: "onBeforeSendHeaders", | |
447 details: { | |
448 url: URL_HTTP_XHR_DATA, | |
449 } | |
450 }, | |
451 { label: "onSendHeaders-2", | |
452 event: "onSendHeaders", | |
453 details: { | |
454 url: URL_HTTP_XHR_DATA, | |
455 } | |
456 }, | |
457 { label: "onResponseStarted-2", | |
458 event: "onResponseStarted", | |
459 details: { | |
460 url: URL_HTTP_XHR_DATA, | |
461 statusCode: 200, | |
462 ip: "127.0.0.1", | |
463 fromCache: false, | |
464 } | |
465 }, | |
466 { label: "onCompleted-2", | |
467 event: "onCompleted", | |
468 details: { | |
469 url: URL_HTTP_XHR_DATA, | |
470 statusCode: 200, | |
471 ip: "127.0.0.1", | |
472 fromCache: false, | |
473 } | |
474 } | |
475 ], | |
476 [ // event order | |
477 ["onBeforeRequest-1", "onBeforeSendHeaders-1", "onSendHeaders-1", | |
478 "onResponseStarted-1", "onCompleted-1", | |
479 "onBeforeRequest-2", "onBeforeSendHeaders-2", "onSendHeaders-2", | |
480 "onResponseStarted-2", "onCompleted-2"] ], | |
481 {}, []); | |
482 navigateAndWait(URL_HTTP_XHR); | |
483 }, | |
484 | |
485 // Navigates to a page with subresources. | 385 // Navigates to a page with subresources. |
486 // TODO(mpcomplete): add multiple subresources; requires support for | 386 // TODO(mpcomplete): add multiple subresources; requires support for |
487 // recognizing partial ordering. | 387 // recognizing partial ordering. |
488 function complexLoad() { | 388 function complexLoad() { |
489 expect( | 389 expect( |
490 [ // events | 390 [ // events |
491 { label: "a.html-onBeforeRequest", | 391 { label: "a.html-onBeforeRequest", |
492 event: "onBeforeRequest", | 392 event: "onBeforeRequest", |
493 details: { | 393 details: { |
494 method: "GET", | 394 method: "GET", |
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
919 ], | 819 ], |
920 [ // event order | 820 [ // event order |
921 ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders", | 821 ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders", |
922 "onAuthRequired", "onResponseStarted", "onCompleted"] | 822 "onAuthRequired", "onResponseStarted", "onCompleted"] |
923 ], | 823 ], |
924 {}, []); | 824 {}, []); |
925 navigateAndWait(URL_AUTH_REQUIRED); | 825 navigateAndWait(URL_AUTH_REQUIRED); |
926 }, | 826 }, |
927 ]); | 827 ]); |
928 </script> | 828 </script> |
OLD | NEW |