mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-01-22 11:33:03 +00:00
168 lines
4.1 KiB
HTML
168 lines
4.1 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>File API manual IDL tests</title>
|
|
<link rel="author" title="Intel" href="http://www.intel.com">
|
|
<link rel="help" href="http://dev.w3.org/2006/webapi/FileAPI/#conformance">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/WebIDLParser.js"></script>
|
|
<script src="/resources/idlharness.js"></script>
|
|
</head>
|
|
<body>
|
|
<h1>File API manual IDL tests</h1>
|
|
|
|
<div>
|
|
<p>Test steps:</p>
|
|
<ol>
|
|
<li>Download <a href="support/upload.txt">upload.txt</a> to local.</li>
|
|
<li>Select the local upload.txt file to run the test.</li>
|
|
</ol>
|
|
</div>
|
|
|
|
<form name="uploadData">
|
|
<input type="file" id="fileChooser">
|
|
</form>
|
|
|
|
<div id="log"></div>
|
|
|
|
<pre id="untested_idl" style="display: none">
|
|
interface ArrayBuffer {
|
|
};
|
|
|
|
interface ArrayBufferView {
|
|
};
|
|
|
|
interface URL {
|
|
};
|
|
|
|
interface EventTarget {
|
|
};
|
|
|
|
interface Event {
|
|
};
|
|
|
|
[TreatNonCallableAsNull]
|
|
callback EventHandlerNonNull = any (Event event);
|
|
typedef EventHandlerNonNull? EventHandler;
|
|
</pre>
|
|
|
|
<pre id="idl" style="display: none">
|
|
[Constructor,
|
|
Constructor(sequence<(ArrayBuffer or ArrayBufferView or Blob or DOMString)> blobParts, optional BlobPropertyBag options), Exposed=Window,Worker]
|
|
interface Blob {
|
|
|
|
readonly attribute unsigned long long size;
|
|
readonly attribute DOMString type;
|
|
readonly attribute boolean isClosed;
|
|
|
|
//slice Blob into byte-ranged chunks
|
|
|
|
Blob slice([Clamp] optional long long start,
|
|
[Clamp] optional long long end,
|
|
optional DOMString contentType);
|
|
void close();
|
|
|
|
};
|
|
|
|
dictionary BlobPropertyBag {
|
|
DOMString type = "";
|
|
};
|
|
|
|
[Constructor(sequence<(Blob or DOMString or ArrayBufferView or ArrayBuffer)> fileBits,
|
|
[EnsureUTF16] DOMString fileName, optional FilePropertyBag options), Exposed=Window,Worker]
|
|
interface File : Blob {
|
|
|
|
readonly attribute DOMString name;
|
|
readonly attribute long long lastModified;
|
|
|
|
};
|
|
|
|
dictionary FilePropertyBag {
|
|
|
|
DOMString type = "";
|
|
long long lastModified;
|
|
|
|
};
|
|
|
|
[Exposed=Window,Worker] interface FileList {
|
|
getter File? item(unsigned long index);
|
|
readonly attribute unsigned long length;
|
|
};
|
|
|
|
[Constructor, Exposed=Window,Worker]
|
|
interface FileReader: EventTarget {
|
|
|
|
// async read methods
|
|
void readAsArrayBuffer(Blob blob);
|
|
void readAsText(Blob blob, optional DOMString label);
|
|
void readAsDataURL(Blob blob);
|
|
|
|
void abort();
|
|
|
|
// states
|
|
const unsigned short EMPTY = 0;
|
|
const unsigned short LOADING = 1;
|
|
const unsigned short DONE = 2;
|
|
|
|
readonly attribute unsigned short readyState;
|
|
|
|
// File or Blob data
|
|
readonly attribute (DOMString or ArrayBuffer)? result;
|
|
|
|
readonly attribute DOMError? error;
|
|
|
|
// event handler attributes
|
|
attribute EventHandler onloadstart;
|
|
attribute EventHandler onprogress;
|
|
attribute EventHandler onload;
|
|
attribute EventHandler onabort;
|
|
attribute EventHandler onerror;
|
|
attribute EventHandler onloadend;
|
|
|
|
};
|
|
|
|
[Constructor, Exposed=Worker]
|
|
interface FileReaderSync {
|
|
|
|
// Synchronously return strings
|
|
|
|
ArrayBuffer readAsArrayBuffer(Blob blob);
|
|
DOMString readAsText(Blob blob, optional DOMString label);
|
|
DOMString readAsDataURL(Blob blob);
|
|
};
|
|
|
|
partial interface URL {
|
|
|
|
static DOMString createObjectURL(Blob blob);
|
|
static DOMString createFor(Blob blob);
|
|
static void revokeObjectURL(DOMString url);
|
|
|
|
};
|
|
</pre>
|
|
|
|
<script>
|
|
var fileInput;
|
|
|
|
setup(function() {
|
|
fileInput = document.querySelector("#fileChooser")
|
|
}, {explicit_done: true, explicit_timeout: true});
|
|
|
|
on_event(fileInput, "change", function(evt) {
|
|
var idl_array = new IdlArray();
|
|
idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
|
|
idl_array.add_idls(document.getElementById("idl").textContent);
|
|
|
|
idl_array.add_objects({
|
|
FileList: [fileInput.files],
|
|
File: [fileInput.files[0]],
|
|
});
|
|
idl_array.test();
|
|
|
|
done();
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|