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();