%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>FileAPI Test: filereader_result</title> <link rel="author" title="Intel" href="http://www.intel.com"> <link rel="help" href="http://dev.w3.org/2006/webapi/FileAPI/#filedata-attr"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> </head> <body> <div id="log"></div> <script> var blob, blob2; setup(function() { blob = new Blob(["This test the result attribute"]); blob2 = new Blob(["This is a second blob"]); }); async_test(function() { var readText = new FileReader(); assert_equals(readText.result, null); readText.onloadend = this.step_func(function(evt) { assert_equals(typeof readText.result, "string", "The result type is string"); assert_equals(readText.result, "This test the result attribute", "The result is correct"); this.done(); }); readText.readAsText(blob); }, "readAsText"); async_test(function() { var readDataURL = new FileReader(); assert_equals(readDataURL.result, null); readDataURL.onloadend = this.step_func(function(evt) { assert_equals(typeof readDataURL.result, "string", "The result type is string"); assert_true(readDataURL.result.indexOf("VGhpcyB0ZXN0IHRoZSByZXN1bHQgYXR0cmlidXRl") != -1, "return the right base64 string"); this.done(); }); readDataURL.readAsDataURL(blob); }, "readAsDataURL"); async_test(function() { var readArrayBuffer = new FileReader(); assert_equals(readArrayBuffer.result, null); readArrayBuffer.onloadend = this.step_func(function(evt) { assert_true(readArrayBuffer.result instanceof ArrayBuffer, "The result is instanceof ArrayBuffer"); this.done(); }); readArrayBuffer.readAsArrayBuffer(blob); }, "readAsArrayBuffer"); async_test(function() { var readBinaryString = new FileReader(); assert_equals(readBinaryString.result, null); readBinaryString.onloadend = this.step_func(function(evt) { assert_equals(typeof readBinaryString.result, "string", "The result type is string"); assert_equals(readBinaryString.result, "This test the result attribute", "The result is correct"); this.done(); }); readBinaryString.readAsBinaryString(blob); }, "readAsBinaryString"); for (let event of ['loadstart', 'progress']) { for (let method of ['readAsText', 'readAsDataURL', 'readAsArrayBuffer', 'readAsBinaryString']) { promise_test(async function(t) { var reader = new FileReader(); assert_equals(reader.result, null, 'result is null before read'); var eventWatcher = new EventWatcher(t, reader, [event, 'loadend']); reader[method](blob); assert_equals(reader.result, null, 'result is null after first read call'); await eventWatcher.wait_for(event); assert_equals(reader.result, null, 'result is null during event'); await eventWatcher.wait_for('loadend'); assert_not_equals(reader.result, null); reader[method](blob); assert_equals(reader.result, null, 'result is null after second read call'); await eventWatcher.wait_for(event); assert_equals(reader.result, null, 'result is null during second read event'); }, 'result is null during "' + event + '" event for ' + method); } } </script> </body> </html>