| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="../../http/tests/inspector/resources/protocol-test.js"></script> |
| <script> |
| function loadSubresource(query) { |
| fetch(`resources/data.json?error=${query}`) |
| .catch(() => {}); |
| } |
| |
| function test() |
| { |
| let suite = ProtocolTest.createAsyncSuite("Network.interceptRequestWithError"); |
| |
| InspectorProtocol.sendCommand("Network.enable"); |
| InspectorProtocol.sendCommand("Network.setInterceptionEnabled", {enabled: true}); |
| InspectorProtocol.sendCommand("Network.addInterception", { |
| url: "resources/data\.json", |
| stage: /* Network.NetworkStage */ "request", |
| isRegex: true, |
| }); |
| |
| function addTestCase({name, errorType}) { |
| suite.addTestCase({ |
| name, |
| async test() { |
| ProtocolTest.log("Triggering load..."); |
| let [requestInterceptedEvent] = await Promise.all([ |
| InspectorProtocol.awaitEvent({event: "Network.requestIntercepted"}), |
| ProtocolTest.evaluateInPage(`loadSubresource("${errorType}")`), |
| ]); |
| |
| ProtocolTest.log("Intercepting with error..."); |
| let [loadingDidFailEvent] = await Promise.all([ |
| InspectorProtocol.awaitEvent({event: "Network.loadingFailed"}), |
| InspectorProtocol.awaitCommand({ |
| method: "Network.interceptRequestWithError", |
| params: { |
| requestId: requestInterceptedEvent.params.requestId, |
| errorType, |
| }, |
| }), |
| ]); |
| ProtocolTest.log("FAILURE TEXT: " + loadingDidFailEvent.params.errorText); |
| }, |
| }); |
| } |
| |
| addTestCase({ |
| name: "Network.interceptRequestWithError.General", |
| errorType: /* Network.ResourceErrorType */ "General", |
| }); |
| |
| addTestCase({ |
| name: "Network.interceptRequestWithError.Access", |
| errorType: /* Network.ResourceErrorType */ "AccessControl", |
| }); |
| |
| addTestCase({ |
| name: "Network.interceptRequestWithError.Canceled", |
| errorType: /* Network.ResourceErrorType */ "Cancellation", |
| }); |
| |
| addTestCase({ |
| name: "Network.interceptRequestWithError.Timeout", |
| errorType: /* Network.ResourceErrorType */ "Timeout", |
| }); |
| |
| suite.runTestCasesAndFinish(); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Tests for Network.interceptRequestWithError.</p> |
| </body> |
| </html> |