blob: e7e2278021cfe4d4152c422e4f8daa34de205c4b [file] [log] [blame]
<html>
<head>
<title>Test XMLHttpRequest exceptions</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<body>
<p>Test that XMLHttpRequest raises exceptions when it should.</p>
<script>
if (window.testRunner)
testRunner.dumpAsText();
var console_messages = document.createElement("ul");
document.body.appendChild(console_messages);
function log(message)
{
var item = document.createElement("li");
item.appendChild(document.createTextNode(message));
console_messages.appendChild(item);
}
function shouldThrow(_a, _e) {
var exception;
var _av;
try {
_av = eval(_a);
} catch (e) {
exception = e.description ? e.description : e;
}
var _ev;
if (_e)
_ev = eval(_e);
if (exception) {
if (typeof _e == "undefined" || exception == _ev)
log("PASS: " + _a + " threw exception " + exception + ".");
else
log("FAIL: " + _a + " should throw exception " + _ev + ". Threw exception " + exception + ".");
} else if (typeof _av == "undefined")
log("FAIL: " + _a + " should throw exception " + _e + ". Was undefined.");
else
log("FAIL: " + _a + " should throw exception " + _e + ". Was " + _av + ".");
}
// -------------------------
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (ex) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
}
log("new XMLHttpRequest()");
shouldThrow('req.setRequestHeader("Foo", "bar")');
shouldThrow('req.send(null)');
req.open('GET', 'resources/zero-length.txt', false);
log("open()");
shouldThrow('req.setRequestHeader()');
shouldThrow('req.setRequestHeader("Foo")');
req.send(null);
log("send()");
shouldThrow('req.send(null)');
shouldThrow('req.setRequestHeader("Foo", "bar")');
shouldThrow('req.getResponseHeader()');
shouldThrow('req.open()');
shouldThrow('req.open(null)');
</script>
</body>
</html>