mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-08 20:28:42 +02:00
--HG-- rename : testing/web-platform/tests/dom/nodes/Document-createComment.html => testing/web-platform/tests/dom/nodes/Document-createTextNode.html rename : testing/web-platform/tests/selectors-api/tests/submissions/Opera/level2-baseline.html => testing/web-platform/tests/selectors-api/tests/submissions/Opera/Element-matches.html rename : testing/web-platform/tests/selectors-api/tests/submissions/Opera/level2-baseline.html => testing/web-platform/tests/selectors-api/tests/submissions/Opera/ParentNode-find-findAll.html rename : testing/web-platform/tests/selectors-api/tests/submissions/Opera/level2-lib.js => testing/web-platform/tests/selectors-api/tests/submissions/Opera/ParentNode-find-findAll.js
57 lines
1.9 KiB
HTML
57 lines
1.9 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>XMLHttpRequest: passing objects that interfere with the XHR instance to send()</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::ol/li[4]" />
|
|
<link rel="help" href="https://heycam.github.io/webidl/#es-union" data-tested-assertations="following::ol/li[16]" />
|
|
|
|
|
|
<div id="log"></div>
|
|
|
|
<script>
|
|
var test1 = async_test('abort() called from data stringification')
|
|
test1.step(function() {
|
|
var client = new XMLHttpRequest()
|
|
var objAbortsOnStringification = {toString:function(){
|
|
client.abort();
|
|
}}
|
|
client.open('POST', 'resources/content.py')
|
|
assert_throws("InvalidStateError", function(){
|
|
client.send(objAbortsOnStringification)
|
|
})
|
|
test1.done()
|
|
});
|
|
|
|
var test2 = async_test('open() called from data stringification')
|
|
test2.step(function() {
|
|
var client = new XMLHttpRequest()
|
|
var objOpensOnStringification = {toString:function(){
|
|
client.open('POST', 'resources/status.py?text=second_open_wins');
|
|
}}
|
|
client.onloadend = test2.step_func(function(){
|
|
assert_equals(client.statusText, 'second_open_wins')
|
|
test2.done()
|
|
})
|
|
client.open('POST', 'resources/status.py?text=first_open_wins')
|
|
client.send(objOpensOnStringification)
|
|
});
|
|
|
|
var test3 = async_test('send() called from data stringification')
|
|
test3.step(function() {
|
|
var client = new XMLHttpRequest()
|
|
var objSendsOnStringification = {toString:function(){
|
|
client.send('bomb!');
|
|
}}
|
|
client.onload = test3.step_func(function(){
|
|
assert_equals(client.responseText, 'bomb!')
|
|
test3.done()
|
|
})
|
|
client.open('POST', 'resources/content.py')
|
|
assert_throws('InvalidStateError', function(){
|
|
client.send(objSendsOnStringification)
|
|
})
|
|
});
|
|
|
|
|
|
</script>
|