mirror of
https://github.com/servo/servo.git
synced 2025-08-23 22:35:33 +01:00
Update web-platform-tests to revision c26470dac73f2df9d4822a0d3482f7eb1ebf57d9
This commit is contained in:
parent
7de87c487b
commit
4d3c932c47
648 changed files with 9014 additions and 4821 deletions
|
@ -0,0 +1,106 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>XMLHttpRequest: responseXML document properties</title>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
var timePreXHR = Math.floor(new Date().getTime(new Date().getTime() - 3000) / 1000); // three seconds ago, in case there's clock drift
|
||||
var client = new XMLHttpRequest()
|
||||
client.open("GET", "resources/well-formed.xml", false)
|
||||
client.send(null)
|
||||
var responseURL = new URL('resources/well-formed.xml', location.href).href
|
||||
var expected = {
|
||||
domain:undefined,
|
||||
URL:responseURL,
|
||||
documentURI:responseURL,
|
||||
baseURI:responseURL,
|
||||
referrer:'',
|
||||
title:'',
|
||||
contentType:'application/xml',
|
||||
readyState:'complete',
|
||||
location:null,
|
||||
defaultView:null,
|
||||
body:undefined,
|
||||
images: undefined,
|
||||
doctype:null,
|
||||
forms:undefined,
|
||||
all:undefined,
|
||||
links: undefined,
|
||||
cookie:''
|
||||
}
|
||||
|
||||
for (var name in expected) {
|
||||
runTest(name, expected[name])
|
||||
}
|
||||
|
||||
function runTest(name, value){
|
||||
test(function(){
|
||||
assert_equals(client.responseXML[name], value)
|
||||
}, name)
|
||||
}
|
||||
|
||||
async_test(t => {
|
||||
const client = new XMLHttpRequest();
|
||||
client.open("GET", "resources/redirect.py?location=well-formed.xml");
|
||||
client.send();
|
||||
client.onload = t.step_func_done(() => {
|
||||
assert_equals(client.responseXML.URL, responseURL);
|
||||
assert_equals(client.responseXML.baseURI, responseURL);
|
||||
});
|
||||
}, "Test document URL properties after redirect");
|
||||
|
||||
async_test(t => {
|
||||
const client = new XMLHttpRequest();
|
||||
client.open("GET", "resources/redirect.py?location=base.xml");
|
||||
client.send();
|
||||
client.onload = t.step_func_done(() => {
|
||||
const localResponseURL = new URL('resources/base.xml', location.href).href;
|
||||
assert_equals(client.responseXML.URL, localResponseURL);
|
||||
assert_equals(client.responseXML.baseURI, 'https://example.com/');
|
||||
client.responseXML.documentElement.remove();
|
||||
assert_equals(client.responseXML.baseURI, localResponseURL);
|
||||
const newBase = document.createElement("base"),
|
||||
newBaseURL = "https://elsewhere.example/";
|
||||
newBase.href = "https://elsewhere.example/";
|
||||
client.responseXML.appendChild(newBase);
|
||||
assert_equals(client.responseXML.baseURI, newBaseURL);
|
||||
newBase.remove();
|
||||
document.head.appendChild(newBase);
|
||||
assert_equals(client.responseXML.baseURI, localResponseURL);
|
||||
newBase.remove();
|
||||
});
|
||||
}, "Test document URL properties of document with <base> after redirect");
|
||||
|
||||
test(function() {
|
||||
var lastModified = Math.floor(new Date(client.responseXML.lastModified).getTime() / 1000);
|
||||
var now = Math.floor(new Date().getTime(new Date().getTime() + 3000) / 1000); // three seconds from now, in case there's clock drift
|
||||
assert_greater_than_equal(lastModified, timePreXHR);
|
||||
assert_less_than_equal(lastModified, now);
|
||||
}, 'lastModified set to time of response if no HTTP header provided')
|
||||
|
||||
test(function() {
|
||||
var client2 = new XMLHttpRequest()
|
||||
client2.open("GET", "resources/last-modified.py", false)
|
||||
client2.send(null)
|
||||
assert_equals((new Date(client2.getResponseHeader('Last-Modified'))).getTime(), (new Date(client2.responseXML.lastModified)).getTime())
|
||||
}, 'lastModified set to related HTTP header if provided')
|
||||
|
||||
test(function() {
|
||||
client.responseXML.cookie = "thisshouldbeignored"
|
||||
assert_equals(client.responseXML.cookie, "")
|
||||
}, 'cookie (after setting it)')
|
||||
|
||||
test(function() {
|
||||
assert_equals(typeof(client.responseXML.styleSheets), "object")
|
||||
}, 'styleSheets')
|
||||
|
||||
test(function() {
|
||||
assert_equals(typeof(client.responseXML.implementation), "object")
|
||||
}, 'implementation')
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue