dom/imptests/webapps/XMLHttpRequest/tests/submissions/Ms2ger/test_interfaces.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/imptests/webapps/XMLHttpRequest/tests/submissions/Ms2ger/test_interfaces.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,102 @@
     1.4 +<!doctype html>
     1.5 +<meta charset=utf-8>
     1.6 +<title>XMLHttpRequest IDL tests</title>
     1.7 +<div id=log></div>
     1.8 +<script src=/resources/testharness.js></script>
     1.9 +<script src=/resources/testharnessreport.js></script>
    1.10 +<script src=/resources/WebIDLParser.js></script>
    1.11 +<script src=/resources/idlharness.js></script>
    1.12 +<script type=text/plain class=untested>
    1.13 +interface EventTarget {
    1.14 +  void addEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */);
    1.15 +  void removeEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */);
    1.16 +  boolean dispatchEvent(Event event);
    1.17 +};
    1.18 +</script>
    1.19 +<script type=text/plain>
    1.20 +[NoInterfaceObject]
    1.21 +interface XMLHttpRequestEventTarget : EventTarget {
    1.22 +  // event handlers
    1.23 +  [TreatNonCallableAsNull] attribute Function? onloadstart;
    1.24 +  [TreatNonCallableAsNull] attribute Function? onprogress;
    1.25 +  [TreatNonCallableAsNull] attribute Function? onabort;
    1.26 +  [TreatNonCallableAsNull] attribute Function? onerror;
    1.27 +  [TreatNonCallableAsNull] attribute Function? onload;
    1.28 +  [TreatNonCallableAsNull] attribute Function? ontimeout;
    1.29 +  [TreatNonCallableAsNull] attribute Function? onloadend;
    1.30 +};
    1.31 +
    1.32 +interface XMLHttpRequestUpload : XMLHttpRequestEventTarget {
    1.33 +
    1.34 +};
    1.35 +
    1.36 +/*
    1.37 +enum XMLHttpRequestResponseType {
    1.38 +  "",
    1.39 +  "arraybuffer",
    1.40 +  "blob",
    1.41 +  "document",
    1.42 +  "json",
    1.43 +  "text"
    1.44 +};
    1.45 +*/
    1.46 +
    1.47 +[Constructor]
    1.48 +interface XMLHttpRequest : XMLHttpRequestEventTarget {
    1.49 +  // event handler
    1.50 +  [TreatNonCallableAsNull] attribute Function? onreadystatechange;
    1.51 +
    1.52 +  // states
    1.53 +  const unsigned short UNSENT = 0;
    1.54 +  const unsigned short OPENED = 1;
    1.55 +  const unsigned short HEADERS_RECEIVED = 2;
    1.56 +  const unsigned short LOADING = 3;
    1.57 +  const unsigned short DONE = 4;
    1.58 +  readonly attribute unsigned short readyState;
    1.59 +
    1.60 +  // request
    1.61 +  void open(DOMString method, DOMString url, optional boolean async/* = true*/, optional DOMString? user, optional DOMString? password);
    1.62 +  void setRequestHeader(DOMString header, DOMString value);
    1.63 +           attribute unsigned long timeout;
    1.64 +           attribute boolean withCredentials;
    1.65 +  readonly attribute XMLHttpRequestUpload upload;
    1.66 +  void send(optional (ArrayBufferView or Blob or Document or DOMString or FormData)? data/* = null*/);
    1.67 +  void abort();
    1.68 +
    1.69 +  // response
    1.70 +  readonly attribute unsigned short status;
    1.71 +  readonly attribute DOMString statusText;
    1.72 +  DOMString? getResponseHeader(DOMString header);
    1.73 +  DOMString getAllResponseHeaders();
    1.74 +  void overrideMimeType(DOMString mime);
    1.75 +/*           attribute XMLHttpRequestResponseType responseType; */
    1.76 +  readonly attribute any response;
    1.77 +  readonly attribute DOMString responseText;
    1.78 +  readonly attribute Document? responseXML;
    1.79 +};
    1.80 +
    1.81 +[Constructor,
    1.82 + Constructor(HTMLFormElement form)]
    1.83 +interface FormData {
    1.84 +  void append(DOMString name, Blob value, optional DOMString filename);
    1.85 +  void append(DOMString name, DOMString value);
    1.86 +};
    1.87 +</script>
    1.88 +<script>
    1.89 +"use strict";
    1.90 +var form = document.createElement("form");
    1.91 +var idlArray = new IdlArray();
    1.92 +[].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) {
    1.93 +  if (node.className == "untested") {
    1.94 +    idlArray.add_untested_idls(node.textContent);
    1.95 +  } else {
    1.96 +    idlArray.add_idls(node.textContent);
    1.97 +  }
    1.98 +});
    1.99 +idlArray.add_objects({
   1.100 +  XMLHttpRequest: ['new XMLHttpRequest()'],
   1.101 +  XMLHttpRequestUpload: ['(new XMLHttpRequest()).upload'],
   1.102 +  FormData: ['new FormData()', 'new FormData(form)']
   1.103 +});
   1.104 +idlArray.test();
   1.105 +</script>

mercurial