Index: LayoutTests/http/tests/xmlhttprequest/post-blob-content-type-async.html |
diff --git a/LayoutTests/http/tests/xmlhttprequest/post-blob-content-type-async.html b/LayoutTests/http/tests/xmlhttprequest/post-blob-content-type-async.html |
index 1315f3e5a11a958875b88c619aa228c54a66b70d..1dc1fb0513ed747b665b606d24256eb6157e14fa 100644 |
--- a/LayoutTests/http/tests/xmlhttprequest/post-blob-content-type-async.html |
+++ b/LayoutTests/http/tests/xmlhttprequest/post-blob-content-type-async.html |
@@ -1,73 +1,78 @@ |
<!DOCTYPE html> |
-<html> |
-<head> |
- <script src="/js-test-resources/js-test.js"></script> |
-</head> |
-<body> |
- <script src="post-blob-content-type-tests.js"></script> |
- <script type="text/javascript"> |
- description("Test verifies that content MIME type is set correctly " + |
- "when Blob is sent using " + |
- "<a href='http://www.w3.org/TR/XMLHttpRequest/#the-send-method'>XMLHttpRequest asynchronously.</a>"); |
- var xhr; |
- var expectedMimeType; |
- window.jsTestIsAsync = true; |
- var asyncTestCase = 0; |
+<script src="/js-test-resources/js-test.js"></script> |
+<script src="post-blob-content-type-tests.js"></script> |
+<script type="text/javascript"> |
+ description("Test verifies that content MIME type is set correctly " + |
+ "when Blob is sent using " + |
+ "<a href='http://www.w3.org/TR/XMLHttpRequest/#the-send-method'>XMLHttpRequest asynchronously.</a>"); |
- function runNextAsyncTest() { |
- asyncTestCase++; |
- runAsyncTests(); |
- } |
+ var xhr; |
+ var expectedMimeType; |
+ window.jsTestIsAsync = true; |
+ var asyncTestCase = 0; |
- function reportResult(e) { |
- if (xhr.status === 200) { |
- expectedMimeType = JSON.parse(xhr.response)['content-type'] || ""; |
- shouldBeEqualToString("expectedMimeType", xhrBlobTestCases[asyncTestCase].expectedMime); |
- } else if (xhr.status === 0 && xhrBlobTestCases[asyncTestCase].shouldThrow){ |
- testPassed("Cross-origin request without CORS headers should fail."); |
- } else { |
- testFailed("Unknown error"); |
- } |
+ function runNextAsyncTest() { |
+ asyncTestCase++; |
+ runAsyncTests(); |
+ } |
- runNextAsyncTest(); |
- } |
+ function reportResult(e) { |
+ var testCase = xhrBlobTestCases[asyncTestCase]; |
+ if (xhr.status === 200) { |
+ postedMimeType = JSON.parse(xhr.response)['content-type'] || ""; |
+ shouldBeEqualToString("postedMimeType", testCase.expectedMime); |
+ } else if (xhr.status === 0 && testCase.shouldThrow){ |
+ testPassed("Cross-origin request without CORS headers should fail."); |
+ } else { |
+ testFailed("Unknown error"); |
+ } |
- function runAsyncTests() { |
- if (asyncTestCase >= xhrBlobTestCases.length) { |
- finishJSTest(); |
- return; |
- } else { |
- var mime = xhrBlobTestCases[asyncTestCase].mime; |
- var url = xhrBlobTestCases[asyncTestCase].url !== undefined ? xhrBlobTestCases[asyncTestCase].url + xhrBlobTestUrl : xhrBlobTestUrl; |
- url += xhrBlobTestCases[asyncTestCase].allowOrigin || ""; |
- if (xhrBlobTestCases[asyncTestCase].shouldThrow !== undefined) { |
- try { |
- testBlobContentTypeAsync(url, mime); |
- } catch (e) { |
- testPassed("Exception should be thrown.") |
- runNextAsyncTest(); |
- } |
- } else |
- testBlobContentTypeAsync(url, mime); |
- } |
- } |
+ runNextAsyncTest(); |
+ } |
- function testBlobContentTypeAsync(url, mimeType) { |
- var blob; |
- if (mimeType !== "") |
- blob = new Blob(["Test content"], {type: mimeType}); |
- else |
- blob = new Blob(["Test content"]); |
+ function runAsyncTests() { |
+ if (asyncTestCase >= xhrBlobTestCases.length) { |
+ finishJSTest(); |
+ return; |
+ } else { |
+ var testCase = xhrBlobTestCases[asyncTestCase]; |
+ var mime = testCase.mime; |
+ var file = testCase.file; |
+ var url = testCase.url !== undefined ? testCase.url + xhrBlobTestUrl : xhrBlobTestUrl; |
+ url += testCase.allowOrigin || ""; |
+ if (testCase.shouldThrow !== undefined) { |
+ try { |
+ testBlobContentTypeAsync(url, mime, file); |
+ } catch (e) { |
+ testPassed("Exception should be thrown.") |
+ runNextAsyncTest(); |
+ } |
+ } else |
+ testBlobContentTypeAsync(url, mime); |
+ } |
+ } |
- xhr = new XMLHttpRequest(); |
- xhr.onloadend = reportResult; |
- xhr.open("POST", url, true); |
- xhr.send(blob); |
- } |
+ function testBlobContentTypeAsync(url, mimeType, fileName) { |
+ var blob; |
+ if (fileName) { |
+ if (mimeType !== "") |
+ blob = new File(["Test content"], fileName, {type: mimeType}); |
+ else |
+ blob = new File(["Test content"], fileName); |
+ } else { |
+ if (mimeType !== "") |
+ blob = new Blob(["Test content"], {type: mimeType}); |
+ else |
+ blob = new Blob(["Test content"]); |
+ } |
- runAsyncTests(); |
+ xhr = new XMLHttpRequest(); |
+ xhr.onloadend = reportResult; |
+ xhr.open("POST", url, true); |
+ xhr.send(blob); |
+ } |
- </script> |
-</body> |
-</html> |
+ runAsyncTests(); |
+ |
+</script> |