| <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> |