| importScripts("/resources/testharness.js"); | |
| var blob, empty_blob, readerSync; | |
| setup(() => { | |
| readerSync = new FileReaderSync(); | |
| blob = new Blob(["test"]); | |
| empty_blob = new Blob(); | |
| }); | |
| test(() => { | |
| assert_true(readerSync instanceof FileReaderSync); | |
| }, "Interface"); | |
| test(() => { | |
| var text = readerSync.readAsText(blob); | |
| assert_equals(text, "test"); | |
| }, "readAsText"); | |
| test(() => { | |
| var text = readerSync.readAsText(empty_blob); | |
| assert_equals(text, ""); | |
| }, "readAsText with empty blob"); | |
| test(() => { | |
| var data = readerSync.readAsDataURL(blob); | |
| assert_equals(data.indexOf("data:"), 0); | |
| }, "readAsDataURL"); | |
| test(() => { | |
| var data = readerSync.readAsDataURL(empty_blob); | |
| assert_equals(data, "data:application/octet-stream;base64,"); | |
| }, "readAsDataURL with empty blob"); | |
| test(() => { | |
| var data = readerSync.readAsBinaryString(blob); | |
| assert_equals(data, "test"); | |
| }, "readAsBinaryString"); | |
| test(() => { | |
| var data = readerSync.readAsBinaryString(empty_blob); | |
| assert_equals(data, ""); | |
| }, "readAsBinaryString with empty blob"); | |
| test(() => { | |
| var data = readerSync.readAsBinaryString(new Blob(["σ"])); | |
| assert_equals(data.length, 2, "The result length is 2"); | |
| assert_equals(data, "\xcf\x83", "The result is \xcf\x83"); | |
| }, "readAsBinaryString with multi-byte UTF-8 char"); | |
| test(() => { | |
| var data = readerSync.readAsArrayBuffer(blob); | |
| assert_true(data instanceof ArrayBuffer); | |
| assert_equals(data.byteLength, "test".length); | |
| }, "readAsArrayBuffer"); | |
| test(() => { | |
| var data = readerSync.readAsArrayBuffer(empty_blob); | |
| assert_true(data instanceof ArrayBuffer); | |
| assert_equals(data.byteLength, 0); | |
| }, "readAsArrayBuffer with empty blob"); | |
| done(); |