// META: title=FileAPI Test: FileReader.readAsDataURL async_test(function(testCase) { var blob = new Blob(["TEST"]); var reader = new FileReader(); reader.onload = this.step_func(function(evt) { assert_equals(reader.readyState, reader.DONE); testCase.done(); }); reader.onloadstart = this.step_func(function(evt) { assert_equals(reader.readyState, reader.LOADING); }); reader.onprogress = this.step_func(function(evt) { assert_equals(reader.readyState, reader.LOADING); }); reader.readAsDataURL(blob); }, 'FileReader readyState during readAsDataURL'); async_test(function(testCase) { var blob = new Blob(["TEST"], { type: 'text/plain' }); var reader = new FileReader(); reader.onload = this.step_func(function() { assert_equals(reader.result, "data:text/plain;base64,VEVTVA=="); testCase.done(); }); reader.readAsDataURL(blob); }, 'readAsDataURL result for Blob with specified MIME type'); async_test(function(testCase) { var blob = new Blob(["TEST"]); var reader = new FileReader(); reader.onload = this.step_func(function() { assert_equals(reader.result, "data:application/octet-stream;base64,VEVTVA=="); testCase.done(); }); reader.readAsDataURL(blob); }, 'readAsDataURL result for Blob with unspecified MIME type'); async_test(function(testCase) { var blob = new Blob([]); var reader = new FileReader(); reader.onload = this.step_func(function() { assert_equals(reader.result, "data:application/octet-stream;base64,"); testCase.done(); }); reader.readAsDataURL(blob); }, 'readAsDataURL result for empty Blob');