69 lines
2.6 KiB
HTML
69 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
|
|
<script>
|
|
function createJSONXHR() {
|
|
let xhr = new XMLHttpRequest;
|
|
xhr.open("GET", "resources/data.json?" + Math.random(), true);
|
|
xhr.send();
|
|
}
|
|
|
|
function createJSONBlobXHR() {
|
|
let xhr = new XMLHttpRequest;
|
|
xhr.open("GET", "resources/data.json?" + Math.random(), true);
|
|
xhr.responseType = "blob";
|
|
xhr.send();
|
|
}
|
|
|
|
function test()
|
|
{
|
|
let suite = InspectorTest.createAsyncSuite("XHR.Blob");
|
|
|
|
const jsonContent = `{"alpha":"beta","gamma":12345}\n`;
|
|
|
|
suite.addTestCase({
|
|
name: "XHR.JSONContent",
|
|
description: "Ensure an XMLHttpRequest with JSON content still gives us text.",
|
|
test(resolve, reject) {
|
|
InspectorTest.evaluateInPage("createJSONXHR()");
|
|
WI.Frame.singleFireEventListener(WI.Frame.Event.ResourceWasAdded, (event) => {
|
|
let resource = event.data.resource;
|
|
InspectorTest.expectThat(resource instanceof WI.Resource, "Resource should be created.");
|
|
resource.singleFireEventListener(WI.Resource.Event.LoadingDidFinish, (event) => {
|
|
InspectorTest.pass("Resource should complete loading.");
|
|
resource.requestContent().then(() => {
|
|
InspectorTest.expectThat(resource.content === jsonContent, "Resource has expected content.");
|
|
}).then(resolve, reject);
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "XHR.JSONContent.Blob",
|
|
description: "Ensure an XMLHttpRequest with JSON content and a responseType of blob still gives us text.",
|
|
test(resolve, reject) {
|
|
InspectorTest.evaluateInPage("createJSONBlobXHR()");
|
|
WI.Frame.singleFireEventListener(WI.Frame.Event.ResourceWasAdded, (event) => {
|
|
let resource = event.data.resource;
|
|
InspectorTest.expectThat(resource instanceof WI.Resource, "Resource should be created.");
|
|
resource.singleFireEventListener(WI.Resource.Event.LoadingDidFinish, (event) => {
|
|
InspectorTest.pass("Resource should complete loading.");
|
|
resource.requestContent().then(() => {
|
|
InspectorTest.expectThat(resource.content === jsonContent, "Resource has expected content.");
|
|
}).then(resolve, reject);
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|
|
suite.runTestCasesAndFinish();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>Tests that an XMLHttpRequest resource gives us JSON text even if it is marked as having blob content.</p>
|
|
</body>
|
|
</html>
|