| <html> |
| <head> |
| <script src="../inspector-test.js"></script> |
| <script src="../network-test.js"></script> |
| <script> |
| |
| function test() |
| { |
| function lastRequest() |
| { |
| return InspectorTest.networkRequests().pop(); |
| } |
| |
| function dumpRequest(request) |
| { |
| InspectorTest.addResult("Dumping request: "); |
| InspectorTest.addResult(" url: " + request.url()); |
| if (request.requestFormData) |
| InspectorTest.addResult(" requestFormData: " + request.requestFormData); |
| InspectorTest.addResult(" requestMethod: " + request.requestMethod); |
| InspectorTest.addResult(" test request header value: " + request.requestHeaderValue("headerName")); |
| } |
| |
| function assertRequestEqual(request1, request2) |
| { |
| InspectorTest.assertEquals(request1.url(), request2.url(), "Requests have different url"); |
| InspectorTest.assertEquals(request1.requestFormData, request2.requestFormData, "Requests have different requestFormData"); |
| InspectorTest.assertEquals(request1.requestMethod, request2.requestMethod, "Requests have different requestMethod"); |
| InspectorTest.assertEquals(request1.requestHeadersText, request2.requestHeadersText, "Requests have different requestHeadersText"); |
| } |
| |
| function testXHRReplay(method, url, async, user, password, headers, withCredentials, payload, type, callback) |
| { |
| InspectorTest.makeXHR(method, url, async, user, password, headers, withCredentials, payload, type, step2); |
| |
| var originalRequest; |
| function step2() |
| { |
| originalRequest = lastRequest(); |
| dumpRequest(originalRequest); |
| InspectorTest.NetworkAgent.replayXHR(originalRequest.requestId()); |
| InspectorTest.addSniffer(Network.NetworkLogView.prototype, "_appendRequest", step3); |
| } |
| |
| function step3() |
| { |
| var replayedRequest = lastRequest(); |
| assertRequestEqual(originalRequest, replayedRequest); |
| callback(); |
| } |
| } |
| |
| |
| InspectorTest.runTestSuite([ |
| function testGetStaticAsync(next) |
| { |
| testXHRReplay("GET", "resources/empty.html", true, null, null, [["headerName", "headerValueA"]], false, undefined, undefined, next); |
| }, |
| |
| function testGetStaticSync(next) |
| { |
| testXHRReplay("GET", "resources/empty.html", false, null, null, [["headerName", "headerValueB"]], false, undefined, undefined, next); |
| }, |
| |
| function testGetCachedAsync(next) |
| { |
| testXHRReplay("GET", "resources/random-cached.php", true, null, null, [["headerName", "headerValueC"]], false, undefined, undefined, next); |
| }, |
| |
| function testGetCachedSync(next) |
| { |
| testXHRReplay("GET", "resources/random-cached.php", false, null, null, [["headerName", "headerValueD"]], false, undefined, undefined, next); |
| }, |
| |
| function testGetRandomAsync(next) |
| { |
| testXHRReplay("GET", "resources/random.php", true, null, null, [["headerName", "headerValueE"]], false, undefined, undefined, next); |
| }, |
| |
| function testGetRandomSync(next) |
| { |
| testXHRReplay("GET", "resources/random.php", false, null, null, [["headerName", "headerValueF"]], false, undefined, undefined, next); |
| }, |
| |
| function testPostAsync(next) |
| { |
| testXHRReplay("POST", "resources/random.php", true, null, null, [["headerName", "headerValueG"]], false, "payload", undefined, next); |
| }, |
| |
| function testPostSync(next) |
| { |
| testXHRReplay("POST", "resources/random.php", false, null, null, [["headerName", "headerValueH"]], false, "payload", undefined, next); |
| } |
| ]); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| Tests XHR replaying. |
| <a href="https://bugs.webkit.org/show_bug.cgi?id=95187">Bug 95187</a> |
| </body> |
| </html> |