Bug 765177 - Part c: Import XMLHttpRequest tests; r=bz

This commit is contained in:
Ms2ger 2012-06-21 09:11:07 +02:00
parent 9de1ebb6eb
commit 346085ec88
9 changed files with 253 additions and 0 deletions

View File

@ -16,6 +16,7 @@ DIRS = \
failures/webapps/DOMCore/tests/submissions/Opera \
failures/webapps/WebStorage/tests/submissions/Infraware \
failures/webapps/WebStorage/tests/submissions/Ms2ger \
failures/webapps/XMLHttpRequest/tests/submissions/Ms2ger \
$(NULL)
include $(srcdir)/editing.mk

View File

@ -0,0 +1,20 @@
DEPTH = ../../../../../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
relativesrcdir = dom/imptests/failures/webapps/XMLHttpRequest/tests/submissions/Ms2ger
DIRS = \
$(NULL)
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/rules.mk
_TESTS = \
test_interfaces.html.json \
test_setrequestheader-invalid-arguments.htm.json \
$(NULL)
libs:: $(_TESTS)
$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)

View File

@ -0,0 +1,20 @@
{
"XMLHttpRequestUpload interface: existence and properties of interface prototype object": true,
"XMLHttpRequest interface constructor": true,
"XMLHttpRequest interface: existence and properties of interface prototype object": true,
"XMLHttpRequest interface: calling open(DOMString,DOMString,boolean,DOMString,DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError": true,
"XMLHttpRequest interface: calling setRequestHeader(DOMString,DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError": true,
"XMLHttpRequest interface: calling getResponseHeader(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError": true,
"XMLHttpRequest interface: calling overrideMimeType(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError": true,
"FormData interface: existence and properties of interface object": true,
"FormData interface constructor": true,
"FormData interface: existence and properties of interface prototype object": true,
"FormData interface: existence and properties of interface prototype object's \"constructor\" property": true,
"FormData interface: operation append(DOMString,Blob,DOMString)": true,
"Stringification of new FormData()": "debug",
"FormData interface: calling append(DOMString,Blob,DOMString) on new FormData() with too few arguments must throw TypeError": true,
"FormData interface: calling append(DOMString,DOMString) on new FormData() with too few arguments must throw TypeError": true,
"Stringification of new FormData(form)": "debug",
"FormData interface: calling append(DOMString,Blob,DOMString) on new FormData(form) with too few arguments must throw TypeError": true,
"FormData interface: calling append(DOMString,DOMString) on new FormData(form) with too few arguments must throw TypeError": true
}

View File

@ -0,0 +1,54 @@
{
"XMLHttpRequest: setRequestHeader() with invalid arguments": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 1": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 2": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 3": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 4": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 5": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 6": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 7": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 8": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 9": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 10": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 11": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 12": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 13": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 14": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 15": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 16": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 17": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 18": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 19": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 20": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 21": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 22": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 23": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 24": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 25": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 26": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 27": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 28": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 29": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 30": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 31": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 32": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 33": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 34": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 35": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 36": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 37": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 38": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 39": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 40": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 41": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 42": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 43": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 44": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 45": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 46": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 47": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 48": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 49": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 50": true,
"XMLHttpRequest: setRequestHeader() with invalid arguments 51": true
}

View File

@ -1,5 +1,6 @@
DIRS += \
webapps/DOMCore/tests/approved \
webapps/DOMCore/tests/submissions/Opera \
webapps/XMLHttpRequest/tests/submissions/Ms2ger \
webapps/WebStorage/tests/submissions \
$(NULL)

View File

@ -2,3 +2,4 @@ https://dvcs.w3.org/hg/webapps|webapps
DOMCore/tests/approved
DOMCore/tests/submissions/Opera
WebStorage/tests/submissions
XMLHttpRequest/tests/submissions/Ms2ger

View File

@ -0,0 +1,25 @@
# THIS FILE IS AUTOGENERATED BY importTestsuite.py - DO NOT EDIT
DEPTH = ../../../../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
relativesrcdir = dom/imptests/webapps/XMLHttpRequest/tests/submissions/Ms2ger
DIRS = \
$(NULL)
include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/config/rules.mk
_TESTS = \
test_interfaces.html \
test_setrequestheader-invalid-arguments.htm \
$(NULL)
_TESTS += \
$(NULL)
libs:: $(_TESTS)
$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/tests/$(relativesrcdir)

View File

@ -0,0 +1,89 @@
<!doctype html>
<meta charset=utf-8>
<title>XMLHttpRequest IDL tests</title>
<div id=log></div>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
<script type=text/plain>
[NoInterfaceObject]
interface XMLHttpRequestEventTarget : EventTarget {
// event handlers
[TreatNonCallableAsNull] attribute Function? onloadstart;
[TreatNonCallableAsNull] attribute Function? onprogress;
[TreatNonCallableAsNull] attribute Function? onabort;
[TreatNonCallableAsNull] attribute Function? onerror;
[TreatNonCallableAsNull] attribute Function? onload;
[TreatNonCallableAsNull] attribute Function? ontimeout;
[TreatNonCallableAsNull] attribute Function? onloadend;
};
interface XMLHttpRequestUpload : XMLHttpRequestEventTarget {
};
/*
enum XMLHttpRequestResponseType {
"",
"arraybuffer",
"blob",
"document",
"json",
"text"
};
*/
[Constructor]
interface XMLHttpRequest : XMLHttpRequestEventTarget {
// event handler
[TreatNonCallableAsNull] attribute Function? onreadystatechange;
// states
const unsigned short UNSENT = 0;
const unsigned short OPENED = 1;
const unsigned short HEADERS_RECEIVED = 2;
const unsigned short LOADING = 3;
const unsigned short DONE = 4;
readonly attribute unsigned short readyState;
// request
void open(DOMString method, DOMString url, optional boolean async/* = true*/, optional DOMString? user, optional DOMString? password);
void setRequestHeader(DOMString header, DOMString value);
attribute unsigned long timeout;
attribute boolean withCredentials;
readonly attribute XMLHttpRequestUpload upload;
void send(optional (ArrayBufferView or Blob or Document or DOMString or FormData)? data/* = null*/);
void abort();
// response
readonly attribute unsigned short status;
readonly attribute DOMString statusText;
DOMString? getResponseHeader(DOMString header);
DOMString getAllResponseHeaders();
void overrideMimeType(DOMString mime);
/* attribute XMLHttpRequestResponseType responseType; */
readonly attribute any response;
readonly attribute DOMString responseText;
readonly attribute Document? responseXML;
};
[Constructor,
Constructor(HTMLFormElement form)]
interface FormData {
void append(DOMString name, Blob value, optional DOMString filename);
void append(DOMString name, DOMString value);
};
</script>
<script>
"use strict";
var form = document.createElement("form");
var idlArray = new IdlArray();
idlArray.add_idls(document.querySelector("script[type=text\\/plain]").textContent);
idlArray.add_objects({
XMLHttpRequest: ['new XMLHttpRequest()'],
XMLHttpRequestUpload: ['(new XMLHttpRequest()).upload'],
FormData: ['new FormData()', 'new FormData(form)']
});
idlArray.test();
</script>

View File

@ -0,0 +1,42 @@
<!doctype html>
<html>
<head>
<title>XMLHttpRequest: setRequestHeader() with invalid arguments</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<!--
CHAR = <any US-ASCII character (octets 0 - 127)>
CTL = <any US-ASCII control character
(octets 0 - 31) and DEL (127)>
SP = <US-ASCII SP, space (32)>
HT = <US-ASCII HT, horizontal-tab (9)>
token = 1*<any CHAR except CTLs or separators>
separators = "(" | ")" | "<" | ">" | "@"
| "," | ";" | ":" | "\" | <">
| "/" | "[" | "]" | "?" | "="
| "{" | "}" | SP | HT
field-name = token
-->
<script>
var invalid_headers = ["(", ")", "<", ">", "@", ",", ";", ":", "\\",
"\"", "/", "[", "]", "?", "=", "{", "}", " ",
"\u0009", "\u007f"]
for (var i = 0; i < 32; ++i) {
invalid_headers.push(String.fromCharCode(i))
}
for (var i = 0; i < invalid_headers.length; ++i) {
test(function() {
assert_throws("SYNTAX_ERR", function() {
var client = new XMLHttpRequest()
client.open("GET", "../resources/delay.php?ms=0")
client.setRequestHeader(invalid_headers[i], "test")
}, "setRequestHeader should throw with header " +
format_value(invalid_headers[i]) +".")
})
}
</script>
</body>
</html>