<!DOCTYPE html>
<html>
<body>
<pre id='console'></pre>
<script src="../../resources/gc.js"></script>
<script>
function log(message)
{
document.getElementById('console').appendChild(document.createTextNode(message + "\n"));
}
function runTest()
{
log("Test that FileReader.abort after reading is done doesn't fire events.");
var text = "Hello";
var reader = new FileReader();
reader.onloadend = function(event) {
fileString = event.target.result;
if (fileString != text)
log("Incorrect data read, expected " + text + ", got " + fileString);
reader.onabort = function() {
log("Received abort event after reading");
};
reader.onload = function() {
log("Received load event after reading");
};
reader.onloadend = function() {
log("Received loadend event after reading");
};
reader.onloadstart = function() {
log("Received load start event after reading");
};
reader.onprogress = function() {
log("Received progress event after reading");
};
reader.abort();
gc();
finishTest();
}
reader.onerror = function(event) {
log("Received error event: " + event.target.error.code);
};
reader.readAsText(new Blob([text]));
}
function finishTest()
{
log("DONE");
if (testRunner.notifyDone)
testRunner.notifyDone();
}
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
window.onload = runTest;
</script>
</body>
</html>