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) | |
kinuko
2013/11/14 05:41:06
nit: I feel it might be cleaner to make this funct
pwnall-personal
2013/11/14 14:31:19
Done.
I really like this idea, thank you very much
| |
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) { | |
kinuko
2013/11/14 05:41:06
nit: I know this is coming from the original code,
pwnall-personal
2013/11/14 14:31:19
Done.
| |
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 |