tests: Add avm2/filereference_save_and_browse test

This test verifies how FileReference behaves when a browse (and load)
operations are triggered after save.

Additionally, it marks the commented out code related to reporting
file size as FIXME, because the current implementation reports
the size at all times, instead of only after saving.
This commit is contained in:
Kamil Jarosz 2024-05-02 11:14:26 +02:00 committed by Nathan Adams
parent 8e6e71b2f7
commit 6ea64c92f4
5 changed files with 126 additions and 1 deletions

View File

@ -16,7 +16,7 @@ function dump(file) {
} catch (e) {
trace("file.name threw: " + e);
}
/*
/* FIXME
try {
trace("file.size: " + file.size);
} catch (e) {

View File

@ -0,0 +1,81 @@
package {
import flash.display.Sprite;
public class Test extends Sprite { }
}
import flash.net.FileReference;
import flash.net.FileFilter;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.utils.setTimeout;
var file = new FileReference();
function dump(file) {
try {
trace("file.name: " + file.name);
} catch (e) {
trace("file.name threw: " + e);
}
/* FIXME
try {
trace("file.size: " + file.size);
} catch (e) {
trace("file.size threw: " + e);
}
*/
trace("file.data: " + file.data);
trace("");
}
function onopen(e) {
trace("open event");
dump(e.target);
}
function onprogress(e) {
trace("progress event");
trace(e.bytesLoaded + " / " + e.bytesTotal);
dump(e.target);
}
function oncomplete(e) {
trace("complete event");
dump(e.target);
file.removeEventListener(Event.SELECT, onselect);
file.removeEventListener(Event.COMPLETE, oncomplete);
file.addEventListener(Event.SELECT, onselect2);
file.addEventListener(Event.COMPLETE, oncomplete2);
file.browse([new FileFilter("debug-select-success", "*.txt")]);
}
function oncomplete2(e) {
trace("complete event");
dump(e.target);
}
function onselect(e) {
trace("select event");
dump(e.target);
}
function onselect2(e) {
trace("select event 2");
dump(e.target);
file.load();
}
function oncancel(e) {
trace("cancel event");
dump(e.target);
}
file.addEventListener(Event.OPEN, onopen);
file.addEventListener(ProgressEvent.PROGRESS, onprogress);
file.addEventListener(Event.COMPLETE, oncomplete);
file.addEventListener(Event.SELECT, onselect);
file.addEventListener(Event.CANCEL, oncancel);
file.save("Hello, World!", "debug-success.txt");

View File

@ -0,0 +1,43 @@
select event
file.name: debug-success.txt
file.data: null
open event
file.name: debug-success.txt
file.data: null
progress event
13 / 13
file.name: debug-success.txt
file.data: null
complete event
file.name: debug-success.txt
file.data: null
select event 2
file.name: test.txt
file.data: null
open event
file.name: test.txt
file.data: null
progress event
0 / 13
file.name: test.txt
file.data: null
open event
file.name: test.txt
file.data: null
progress event
13 / 13
file.name: test.txt
file.data: null
complete event
file.name: test.txt
file.data: Hello, World!

Binary file not shown.

View File

@ -0,0 +1 @@
num_ticks = 1