current commit
261105.16 · test: update WPT for FileAPI to 5878c7a7c0
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();