| Index: LayoutTests/fast/files/resources/blob-slice-common.js
|
| diff --git a/LayoutTests/fast/files/resources/blob-slice-common.js b/LayoutTests/fast/files/resources/blob-slice-common.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d93617ec9da181d7258ef2e8a5bfa7a44949e0a4
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/files/resources/blob-slice-common.js
|
| @@ -0,0 +1,58 @@
|
| +var blob, file; // Populated by runTests() in individual tests.
|
| +var sliceParams = []; // Populated by individual tests.
|
| +var testIndex = 0;
|
| +
|
| +function testSlicing(start, end, expectedResult)
|
| +{
|
| + var subBlob, subFile;
|
| + var blobReader = new FileReader();
|
| + var fileReader = new FileReader();
|
| + var message = ".slice";
|
| + if (start === null && end === null) {
|
| + message += "()";
|
| + subBlob = blob.slice();
|
| + subFile = file.slice();
|
| + } else if (end == undefined) {
|
| + message += "(" + start + ")";
|
| + subBlob = blob.slice(start);
|
| + subFile = file.slice(start);
|
| + } else {
|
| + message += "(" + start + ", " + end + ")";
|
| + subBlob = blob.slice(start, end);
|
| + subFile = file.slice(start, end);
|
| + }
|
| + blobReader.onload = function(event) {
|
| + window.blobContents = event.target.result;
|
| + shouldBeEqualToString("blobContents", expectedResult);
|
| + debug("File " + message);
|
| + fileReader.readAsText(subFile);
|
| + };
|
| + blobReader.onerror = function(event) {
|
| + testFailed("Blob read error " + message + event.target.error.message);
|
| + debug("File " + message);
|
| + fileReader.readAsText(subFile);
|
| + };
|
| + fileReader.onload = function(event) {
|
| + window.fileContents = event.target.result;
|
| + shouldBeEqualToString("fileContents", expectedResult);
|
| + runNextTest();
|
| + };
|
| + fileReader.onerror = function(event) {
|
| + testFailed("File read error " + message + event.target.error.message);
|
| + runNextTest();
|
| + }
|
| + debug("Blob " + message);
|
| + blobReader.readAsText(subBlob);
|
| +}
|
| +
|
| +function runNextTest()
|
| +{
|
| + if (testIndex >= sliceTestCases.length) {
|
| + finishJSTest();
|
| + return;
|
| + }
|
| +
|
| + var testCase = sliceTestCases[testIndex];
|
| + testIndex++;
|
| + testSlicing(testCase[0], testCase[1], testCase[2]);
|
| +}
|
|
|