blob: b9b4d6532441403e1fc26f8dff1b22c0bf8bb186 [file] [log] [blame]
function test_withCredentials(worker) {
test(function() {
var client = new XMLHttpRequest()
assert_false(client.withCredentials, "withCredentials defaults to false")
client.withCredentials = true
assert_true(client.withCredentials, "is true after setting")
}, "default value is false, set value is true")
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000", true)
client.withCredentials = true
assert_true(client.withCredentials, "set in OPEN state")
}, "can also be set in OPEN state")
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000", false)
if (worker) {
client.withCredentials = true
assert_true(client.withCredentials, "set in OPEN state")
} else {
assert_throws("InvalidAccessError", function() {
client.withCredentials = true
})
assert_false(client.withCredentials, "set in OPEN state")
}
}, "setting on synchronous XHR")
async_test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000")
client.send()
assert_throws("InvalidStateError", function() { client.withCredentials = true })
client.onreadystatechange = this.step_func(function() {
assert_throws("InvalidStateError", function() { client.withCredentials = true })
if (client.readyState === 4) {
this.done()
}
})
}, "setting withCredentials when not in UNSENT, OPENED state (asynchronous)")
test(function() {
var client = new XMLHttpRequest()
client.open("GET", "resources/delay.py?ms=1000", false)
client.send();
assert_throws("InvalidStateError", function() { client.withCredentials = true })
}, "setting withCredentials when in DONE state (synchronous)")
}