| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 | 2 |
| 3 <script src="/js-test-resources/js-test.js"></script> | 3 <script src="/js-test-resources/js-test.js"></script> |
| 4 <script src="post-blob-content-type-tests.js"></script> | 4 <script src="post-blob-content-type-tests.js"></script> |
| 5 <script type="text/javascript"> | 5 <script type="text/javascript"> |
| 6 description("Test verifies that content MIME type is set correctly " + | 6 description("Test verifies that content MIME type is set correctly " + |
| 7 "when Blob is sent using " + | 7 "when Blob is sent using " + |
| 8 "<a href='http://www.w3.org/TR/XMLHttpRequest/#the-send-method'>XM
LHttpRequest synchronously.</a>"); | 8 "<a href='http://www.w3.org/TR/XMLHttpRequest/#the-send-method'>XM
LHttpRequest synchronously.</a>"); |
| 9 | 9 |
| 10 var xhr; | 10 var xhr; |
| 11 var expectedMimeType; | 11 var expectedMimeType; |
| 12 | 12 |
| 13 function runSyncTests() { | 13 function runSyncTests() { |
| 14 var testCount = xhrBlobTestCases.length; | 14 var testCount = xhrBlobTestCases.length; |
| 15 for (var i = 0; i < testCount; i++) { | 15 for (var i = 0; i < testCount; i++) { |
| 16 var testCase = xhrBlobTestCases[i]; | 16 var testCase = xhrBlobTestCases[i]; |
| 17 var mime = testCase.mime; | 17 var mime = testCase.mime; |
| 18 var file = testCase.file; | 18 var file = testCase.file; |
| 19 var expectedMime = testCase.expectedMime; | 19 var expectedMime = testCase.expectedMime; |
| 20 var url = testCase.url !== undefined ? testCase.url + xhrBlobTestUrl :
xhrBlobTestUrl; | 20 var url = testCase.url !== undefined ? testCase.url + xhrBlobTestUrl :
xhrBlobTestUrl; |
| 21 url += testCase.allowOrigin || ""; | 21 url += testCase.allowOrigin || ""; |
| 22 if (testCase.shouldThrow !== undefined) { | 22 if (testCase.shouldThrow !== undefined) { |
| 23 try { | 23 try { |
| 24 testBlobContentTypeSync(url, file, mime, expectedMime); | 24 testBlobContentTypeSync(url, file, mime, expectedMime, testCas
e.closeBeforeSend); |
| 25 } catch (e) { | 25 } catch (e) { |
| 26 testPassed("Exception should be thrown.") | 26 testPassed("Exception should be thrown.") |
| 27 } | 27 } |
| 28 } else { | 28 } else { |
| 29 testBlobContentTypeSync(url, file, mime, expectedMime); | 29 testBlobContentTypeSync(url, file, mime, expectedMime); |
| 30 } | 30 } |
| 31 } | 31 } |
| 32 } | 32 } |
| 33 | 33 |
| 34 function testBlobContentTypeSync(url, fileName, mimeType, expectedMime) { | 34 function testBlobContentTypeSync(url, fileName, mimeType, expectedMime, closeB
eforeSend) { |
| 35 var blob; | 35 var blob; |
| 36 if (fileName) { | 36 if (fileName) { |
| 37 if (mimeType !== "") | 37 if (mimeType !== "") |
| 38 blob = new File(["Test content"], fileName, {type: mimeType}); | 38 blob = new File(["Test content"], fileName, {type: mimeType}); |
| 39 else | 39 else |
| 40 blob = new File(["Test content"], fileName); | 40 blob = new File(["Test content"], fileName); |
| 41 } else { | 41 } else { |
| 42 if (mimeType !== "") | 42 if (mimeType !== "") |
| 43 blob = new Blob(["Test content"], {type: mimeType}); | 43 blob = new Blob(["Test content"], {type: mimeType}); |
| 44 else | 44 else |
| 45 blob = new Blob(["Test content"]); | 45 blob = new Blob(["Test content"]); |
| 46 } | 46 } |
| 47 | 47 |
| 48 xhr = new XMLHttpRequest(); | 48 xhr = new XMLHttpRequest(); |
| 49 xhr.open("POST", url, false); | 49 xhr.open("POST", url, false); |
| 50 if (closeBeforeSend) |
| 51 blob.close(); |
| 50 xhr.send(blob); | 52 xhr.send(blob); |
| 51 if (xhr.status === 200) { | 53 if (xhr.status === 200) { |
| 52 postedMimeType = JSON.parse(xhr.response)['content-type'] || ""; | 54 postedMimeType = JSON.parse(xhr.response)['content-type'] || ""; |
| 53 shouldBeEqualToString("postedMimeType", expectedMime); | 55 shouldBeEqualToString("postedMimeType", expectedMime); |
| 54 } else | 56 } else |
| 55 testFailed("Unknown error"); | 57 testFailed("Unknown error"); |
| 56 | 58 |
| 57 } | 59 } |
| 58 | 60 |
| 59 runSyncTests(); | 61 runSyncTests(); |
| 60 | 62 |
| 61 </script> | 63 </script> |
| OLD | NEW |