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> |