OLD | NEW |
(Empty) | |
| 1 var blob, file; // Populated by runTests() in individual tests. |
| 2 var sliceParams = []; // Populated by individual tests. |
| 3 var testIndex = 0; |
| 4 |
| 5 function testSlicing(start, end, expectedResult) |
| 6 { |
| 7 var subBlob, subFile; |
| 8 var blobReader = new FileReader(); |
| 9 var fileReader = new FileReader(); |
| 10 var message = ".slice"; |
| 11 if (start === null && end === null) { |
| 12 message += "()"; |
| 13 subBlob = blob.slice(); |
| 14 subFile = file.slice(); |
| 15 } else if (end == undefined) { |
| 16 message += "(" + start + ")"; |
| 17 subBlob = blob.slice(start); |
| 18 subFile = file.slice(start); |
| 19 } else { |
| 20 message += "(" + start + ", " + end + ")"; |
| 21 subBlob = blob.slice(start, end); |
| 22 subFile = file.slice(start, end); |
| 23 } |
| 24 blobReader.onload = function(event) { |
| 25 window.blobContents = event.target.result; |
| 26 shouldBeEqualToString("blobContents", expectedResult); |
| 27 debug("File " + message); |
| 28 fileReader.readAsText(subFile); |
| 29 }; |
| 30 blobReader.onerror = function(event) { |
| 31 testFailed("Blob read error " + message + event.target.error.message); |
| 32 debug("File " + message); |
| 33 fileReader.readAsText(subFile); |
| 34 }; |
| 35 fileReader.onload = function(event) { |
| 36 window.fileContents = event.target.result; |
| 37 shouldBeEqualToString("fileContents", expectedResult); |
| 38 runNextTest(); |
| 39 }; |
| 40 fileReader.onerror = function(event) { |
| 41 testFailed("File read error " + message + event.target.error.message); |
| 42 runNextTest(); |
| 43 } |
| 44 debug("Blob " + message); |
| 45 blobReader.readAsText(subBlob); |
| 46 } |
| 47 |
| 48 function runNextTest() |
| 49 { |
| 50 if (testIndex >= sliceTestCases.length) { |
| 51 finishJSTest(); |
| 52 return; |
| 53 } |
| 54 |
| 55 var testCase = sliceTestCases[testIndex]; |
| 56 testIndex++; |
| 57 testSlicing(testCase[0], testCase[1], testCase[2]); |
| 58 } |
OLD | NEW |