mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Update web-platform-tests to revision 697b971060b2d475a73c1c3755232a4674d61cf5
This commit is contained in:
parent
f60598909a
commit
b97474fbba
236 changed files with 4817 additions and 893 deletions
|
@ -0,0 +1,19 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>base element in about:blank document should resolve against its fallback base URI</title>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<iframe></iframe>
|
||||
<script>
|
||||
var t = async_test();
|
||||
addEventListener("load", t.step_func_done(function() {
|
||||
var doc = frames[0].document;
|
||||
var b = doc.createElement("base");
|
||||
b.setAttribute("href", "test");
|
||||
var newBaseValue = location.href.replace(/\/[^/]*$/, "/") + "test";
|
||||
assert_equals(b.href, newBaseValue);
|
||||
assert_equals(doc.baseURI, location.href);
|
||||
doc.head.appendChild(b);
|
||||
assert_equals(doc.baseURI, newBaseValue);
|
||||
}));
|
||||
</script>
|
|
@ -0,0 +1,12 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>base element with unparseable href should have .href getter return attr value</title>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<script>
|
||||
test(function() {
|
||||
var b = document.createElement("base");
|
||||
b.setAttribute("href", "//test:test");
|
||||
assert_equals(b.href, "//test:test");
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,19 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>base element in srcdoc document should resolve against its fallback base URI</title>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<iframe srcdoc=""></iframe>
|
||||
<script>
|
||||
var t = async_test();
|
||||
addEventListener("load", t.step_func_done(function() {
|
||||
var doc = frames[0].document;
|
||||
var b = doc.createElement("base");
|
||||
b.setAttribute("href", "test");
|
||||
var newBaseValue = location.href.replace(/\/[^/]*$/, "/") + "test";
|
||||
assert_equals(b.href, newBaseValue);
|
||||
assert_equals(doc.baseURI, location.href);
|
||||
doc.head.appendChild(b);
|
||||
assert_equals(doc.baseURI, newBaseValue);
|
||||
}));
|
||||
</script>
|
|
@ -19,5 +19,7 @@ test(function() {
|
|||
assert_equals(list.contains(NaN), true); //"NaN"
|
||||
assert_equals(list.contains(+Infinity), true); //"Infinity"
|
||||
assert_equals(list.contains(-Infinity), false); //"-Infinity"
|
||||
assert_equals(list.supports("stylesheet"), true);
|
||||
assert_equals(list.supports("nosuchrelvalueever"), false);
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -13,7 +13,7 @@ test(function(){
|
|||
test(function(){
|
||||
var track = document.createElement('track');
|
||||
track.setAttribute('kind', 'invalid');
|
||||
assert_equals(track.kind, 'subtitles');
|
||||
assert_equals(track.kind, 'metadata');
|
||||
assert_equals(track.getAttribute('kind'), 'invalid');
|
||||
}, document.title + ' invalid value in content attribute');
|
||||
|
||||
|
@ -27,14 +27,14 @@ test(function(){
|
|||
test(function(){
|
||||
var track = document.createElement('track');
|
||||
track.setAttribute('kind', 'CAPT\u0130ONS');
|
||||
assert_equals(track.kind, 'subtitles');
|
||||
assert_equals(track.kind, 'metadata');
|
||||
assert_equals(track.getAttribute('kind'), 'CAPT\u0130ONS');
|
||||
}, document.title + ' content attribute with uppercase turkish I (with dot)');
|
||||
|
||||
test(function(){
|
||||
var track = document.createElement('track');
|
||||
track.setAttribute('kind', 'capt\u0131ons');
|
||||
assert_equals(track.kind, 'subtitles');
|
||||
assert_equals(track.kind, 'metadata');
|
||||
assert_equals(track.getAttribute('kind'), 'capt\u0131ons');
|
||||
}, document.title + ' content attribute with lowercase turkish i (dotless)');
|
||||
|
||||
|
@ -76,7 +76,7 @@ test(function(){
|
|||
test(function(){
|
||||
var track = document.createElement('track');
|
||||
track.setAttribute('kind', 'captions\u0000');
|
||||
assert_equals(track.kind, 'subtitles');
|
||||
assert_equals(track.kind, 'metadata');
|
||||
assert_equals(track.getAttribute('kind'), 'captions\u0000');
|
||||
}, document.title + ' content attribute "captions\\u0000"');
|
||||
|
||||
|
@ -126,21 +126,21 @@ test(function(){
|
|||
var track = document.createElement('track');
|
||||
track.kind = 'CAPT\u0130ONS';
|
||||
assert_equals(track.getAttribute('kind'), 'CAPT\u0130ONS');
|
||||
assert_equals(track.kind, 'subtitles');
|
||||
assert_equals(track.kind, 'metadata');
|
||||
}, document.title + ' setting IDL attribute with uppercase turkish I (with dot)');
|
||||
|
||||
test(function(){
|
||||
var track = document.createElement('track');
|
||||
track.kind = 'capt\u0131ons';
|
||||
assert_equals(track.getAttribute('kind'), 'capt\u0131ons');
|
||||
assert_equals(track.kind, 'subtitles');
|
||||
assert_equals(track.kind, 'metadata');
|
||||
}, document.title + ' setting IDL attribute with lowercase turkish I (dotless)');
|
||||
|
||||
test(function(){
|
||||
var track = document.createElement('track');
|
||||
track.kind = 'captions\u0000';
|
||||
assert_equals(track.getAttribute('kind'), 'captions\u0000');
|
||||
assert_equals(track.kind, 'subtitles');
|
||||
assert_equals(track.kind, 'metadata');
|
||||
}, document.title + ' setting IDL attribute with \\u0000');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -26,6 +26,6 @@ test(function(){
|
|||
test(function(){
|
||||
var track = document.createElement('track');
|
||||
track.kind = 'captions\u0000';
|
||||
assert_equals(track.track.kind, 'subtitles');
|
||||
assert_equals(track.track.kind, 'metadata');
|
||||
}, document.title+', \\u0000');
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>Test some sanity behavior around iframe load/error events</title>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<body>
|
||||
<script>
|
||||
async_test(function(t) {
|
||||
var obj = document.createElement("iframe");
|
||||
obj.onload = t.step_func_done(function(e){
|
||||
assert_true(obj.contentWindow instanceof Window, "The iframe element should represent a nested browsing context.")
|
||||
assert_equals(Object.getPrototypeOf(e).constructor, Event, "The load event should use the Event interface.");
|
||||
assert_true(e.isTrusted, "The load event should be a trusted event.");
|
||||
assert_false(e.cancelable, "The load event should not be a cancelable event.");
|
||||
assert_false(e.bubbles, "The load event should not be a bubble event.");
|
||||
assert_equals(e.target, obj, "The load event target should be the corresponding object element.");
|
||||
});
|
||||
|
||||
obj.onerror = t.step_func_done(function(e){
|
||||
assert_unreached("The error event should not be fired.");
|
||||
});
|
||||
|
||||
var url = URL.createObjectURL(new Blob([""], { type: "text/html" }));
|
||||
|
||||
obj.src = url;
|
||||
document.body.appendChild(obj);
|
||||
}, "load event of blob URL");
|
||||
|
||||
async_test(function(t) {
|
||||
var obj = document.createElement("iframe");
|
||||
obj.onload = t.step_func_done(function(e){
|
||||
assert_true(obj.contentWindow instanceof Window, "The object element should represent a nested browsing context.")
|
||||
assert_equals(Object.getPrototypeOf(e).constructor, Event, "The load event should use the Event interface.");
|
||||
assert_true(e.isTrusted, "The load event should be a trusted event.");
|
||||
assert_false(e.cancelable, "The load event should not be a cancelable event.");
|
||||
assert_false(e.bubbles, "The load event should not be a bubble event.");
|
||||
assert_equals(e.target, obj, "The load event target should be the corresponding object element.");
|
||||
});
|
||||
|
||||
obj.onerror = t.step_func_done(function(e){
|
||||
assert_unreached("The error event should not be fired.");
|
||||
});
|
||||
|
||||
document.body.appendChild(obj);
|
||||
}, "load event of initial about:blank");
|
||||
|
||||
</script>
|
||||
</body>
|
|
@ -89,8 +89,15 @@
|
|||
|
||||
<img src="/images/green-2x2.png" data-desc="inserted/removed children of img">
|
||||
|
||||
<picture><img src="/images/green-2x2.png" data-desc="picture is inserted"></picture><span></span>
|
||||
<picture><img src="/images/green-2x2.png" data-desc="picture is removed"></picture>
|
||||
<picture><img src="/images/green-2x2.png" data-desc="picture is inserted; img has src"></picture><span></span>
|
||||
<picture><img srcset="/images/green-2x2.png" data-desc="picture is inserted; img has srcset"></picture><span></span>
|
||||
<picture><source srcset="/images/green-2x2.png"><img src="/images/green-2x2.png" data-desc="picture is inserted; img has previous sibling source"></picture><span></span>
|
||||
<picture><img src="/images/green-2x2.png" data-desc="picture is inserted; img has following sibling source"><source srcset="/images/green-2x2.png"></picture><span></span>
|
||||
|
||||
<picture><img src="/images/green-2x2.png" data-desc="picture is removed; img has src"></picture>
|
||||
<picture><img srcset="/images/green-2x2.png" data-desc="picture is removed; img has srcset"></picture>
|
||||
<picture><source srcset="/images/green-2x2.png"><img src="/images/green-2x2.png" data-desc="picture is removed; img has previous sibling source"></picture>
|
||||
<picture><img src="/images/green-2x2.png" data-desc="picture is removed; img has following sibling source"><source srcset="/images/green-2x2.png"></picture>
|
||||
|
||||
<picture><img src="/images/green-2x2.png" data-desc="parent is picture, following img inserted"></picture>
|
||||
<picture><img src="/images/green-2x2.png" data-desc="parent is picture, following img removed"><img></picture>
|
||||
|
@ -352,11 +359,35 @@ onload = function() {
|
|||
}), 0);
|
||||
}, 'timeout');
|
||||
|
||||
t('picture is inserted', function(img) {
|
||||
t('picture is inserted; img has src', function(img) {
|
||||
img.parentNode.nextSibling.appendChild(img.parentNode);
|
||||
}, 'timeout');
|
||||
|
||||
t('picture is removed', function(img) {
|
||||
t('picture is inserted; img has srcset', function(img) {
|
||||
img.parentNode.nextSibling.appendChild(img.parentNode);
|
||||
}, 'timeout');
|
||||
|
||||
t('picture is inserted; img has previous sibling source', function(img) {
|
||||
img.parentNode.nextSibling.appendChild(img.parentNode);
|
||||
}, 'timeout');
|
||||
|
||||
t('picture is inserted; img has following sibling source', function(img) {
|
||||
img.parentNode.nextSibling.appendChild(img.parentNode);
|
||||
}, 'timeout');
|
||||
|
||||
t('picture is removed; img has src', function(img) {
|
||||
img.parentNode.parentNode.removeChild(img.parentNode);
|
||||
}, 'timeout');
|
||||
|
||||
t('picture is removed; img has srcset', function(img) {
|
||||
img.parentNode.parentNode.removeChild(img.parentNode);
|
||||
}, 'timeout');
|
||||
|
||||
t('picture is removed; img has previous sibling source', function(img) {
|
||||
img.parentNode.parentNode.removeChild(img.parentNode);
|
||||
}, 'timeout');
|
||||
|
||||
t('picture is removed; img has following sibling source', function(img) {
|
||||
img.parentNode.parentNode.removeChild(img.parentNode);
|
||||
}, 'timeout');
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
assert_true(c1_click_fired, "input event should fire after click event");
|
||||
assert_false(c1_change_fired, "input event should fire before change event");
|
||||
assert_true(e.bubbles, "event should bubble");
|
||||
assert_false(e.isTrusted, "click()-initiated event should not be trusted");
|
||||
assert_true(e.isTrusted, "click()-initiated event should be trusted");
|
||||
assert_false(e.cancelable, "event should not be cancelable");
|
||||
assert_true(checkbox1.checked, "checkbox is checked");
|
||||
assert_false(checkbox1.indeterminate, "checkbox is not indeterminate");
|
||||
|
@ -51,7 +51,7 @@
|
|||
assert_true(c1_click_fired, "change event should fire after click event");
|
||||
assert_true(c1_input_fired, "change event should fire after input event");
|
||||
assert_true(e.bubbles, "event should bubble")
|
||||
assert_false(e.isTrusted, "click()-initiated event should not be trusted");
|
||||
assert_true(e.isTrusted, "click()-initiated event should be trusted");
|
||||
assert_false(e.cancelable, "event should not be cancelable");
|
||||
assert_true(checkbox1.checked, "checkbox is checked");
|
||||
assert_false(checkbox1.indeterminate, "checkbox is not indeterminate");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue