blob: 8ed81f58e71e366df6ddee7b2579a7ee151eee57 [file] [log] [blame]
<html>
<head></head>
<body>
<script src="/js-test-resources/js-test.js"></script>
<script>
description('Test XMLHttpRequest responseURL.');
window.jsTestIsAsync = true;
function runTest(url, type, async, user, pwd) {
return new Promise(function(resolve, reject) {
var req = new XMLHttpRequest();
window.responseURL = req.responseURL;
debug('req.readyState = ' + req.readyState + ': responseURL = ' + req.responseURL);
shouldBeEqualToString('responseURL', '');
req.open('GET', url, async, user, pwd);
req.responseType = type;
debug('req.readyState = ' + req.readyState + ': responseURL = ' + req.responseURL);
window.responseURL = req.responseURL;
shouldBeEqualToString('responseURL', '');
req.onreadystatechange = function() {
debug('req.readyState = ' + req.readyState + ': responseURL = ' + req.responseURL);
if (req.readyState == req.DONE)
resolve(req);
}
req.send();
debug('req.readyState = ' + req.readyState + ': responseURL = ' + req.responseURL);
window.responseURL = req.responseURL;
shouldBeEqualToString('responseURL', '');
});
}
runTest('resources/basic-auth-default/dir1/basic-auth.py', true, "test", "test", 'text').then(function(req) {
window.responseURL = req.responseURL;
shouldBeEqualToString('responseURL', 'http://127.0.0.1:8000/xmlhttprequest/resources/basic-auth-default/dir1/basic-auth.py');
return runTest('resources/basic-auth-default/dir2/basic-auth.py', true, 'text');
}).then(function(req) {
window.responseURL = req.responseURL;
shouldBeEqualToString('responseURL', 'http://127.0.0.1:8000/xmlhttprequest/resources/basic-auth-default/dir2/basic-auth.py');
req.open('GET', 'http://127.0.0.1:8000/xmlhttprequest/resources/not-found.txt');
}).catch(function(reason) {
testFailed(String(reason));
}).then(finishJSTest, finishJSTest);
</script>
</body>
</html>