| Index: LayoutTests/imported/web-platform-tests/FileAPI/idlharness.html
|
| diff --git a/LayoutTests/imported/web-platform-tests/FileAPI/idlharness.html b/LayoutTests/imported/web-platform-tests/FileAPI/idlharness.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..790f48e78b014df100c9663256e347d90db0f7f2
|
| --- /dev/null
|
| +++ b/LayoutTests/imported/web-platform-tests/FileAPI/idlharness.html
|
| @@ -0,0 +1,158 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| + <head>
|
| + <meta charset="utf-8">
|
| + <title>File API automated 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 automated IDL tests</h1>
|
| +
|
| + <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>
|
| +
|
| + <form name="uploadData">
|
| + <input type="file" id="fileChooser">
|
| + </form>
|
| +
|
| + <script>
|
| + var idl_array, file_input;
|
| +
|
| + setup(function() {
|
| + file_input = document.querySelector("#fileChooser");
|
| + 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({
|
| + Blob: ['new Blob(["TEST"])'],
|
| + File: ['new File(["myFileBits"], "myFileName")'],
|
| + FileList: ['file_input.files'],
|
| + FileReader: ['new FileReader()']
|
| + });
|
| + });
|
| +
|
| + idl_array.test();
|
| + </script>
|
| + </body>
|
| +</html>
|
|
|