Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326

This commit is contained in:
Josh Matthews 2017-10-12 09:25:50 -04:00
parent 462c272380
commit 1f531f66ea
5377 changed files with 174916 additions and 84369 deletions

View file

@ -0,0 +1,29 @@
<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Selection: Add a range to the selection</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
window.onload = function() {
test(function() {
var selection = window.getSelection();
var p1 = document.getElementById("p1");
var range = document.createRange();
range.selectNode(p1);
selection.addRange(range);
assert_equals(selection.anchorNode, range.startContainer);
assert_equals(selection.anchorOffset, range.startOffset);
assert_equals(selection.focusNode, range.endContainer);
assert_equals(selection.focusOffset, range.endOffset);
assert_equals(selection.isCollapsed, range.collapsed);
assert_equals(selection.rangeCount, 1);
assert_equals(selection.toString(), p1.firstChild.nodeValue);
});
};
</script>
<div id=log></div>
<p id="p1">Add a range to the selection</p>
</body>
</html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Selection: Collapse the selection using collapse()</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
window.onload = function() {
test(function() {
var selection = window.getSelection();
var p1 = document.getElementById("p1");
var range = document.createRange();
range.selectNode(p1);
selection.addRange(range);
selection.collapse(p1, 0);
assert_equals(selection.anchorNode, p1);
assert_equals(selection.anchorOffset, 0);
assert_equals(selection.focusNode, p1);
assert_equals(selection.focusOffset, 0);
assert_equals(selection.isCollapsed, true);
assert_equals(selection.rangeCount, 1);
assert_equals(selection.toString(), "");
});
};
</script>
<div id=log></div>
<p id="p1">Add a range to the selection</p>
</body>
</html>

View file

@ -36,12 +36,41 @@ interface Selection {
optional boolean allowPartialContainment = false);
stringifier DOMString ();
};
partial interface Document {
Selection? getSelection();
};
partial interface Window {
Selection? getSelection();
};
partial interface GlobalEventHandlers {
attribute EventHandler onselectstart;
attribute EventHandler onselectionchange;
};
</script>
<script>
"use strict";
var idlArray = new IdlArray();
idlArray.add_idls(document.querySelector("script[type=text\\/plain]").textContent);
idlArray.add_objects({Selection: ['getSelection()']});
idlArray.test();
function doTest([dom, cssom, touchevents, uievents, html]) {
var idlArray = new IdlArray();
idlArray.add_untested_idls(dom + cssom + touchevents + uievents + html);
idlArray.add_idls(document.querySelector("script[type=text\\/plain]").textContent);
idlArray.add_objects({Selection: ['getSelection()']});
idlArray.test();
}
function fetchData(url) {
return fetch(url).then((response) => response.text());
}
promise_test(function() {
return Promise.all([fetchData("/interfaces/dom.idl"),
fetchData("/interfaces/cssom.idl"),
fetchData("/interfaces/touchevents.idl"),
fetchData("/interfaces/uievents.idl"),
fetchData("/interfaces/html.idl")])
.then(doTest);
}, "Test driver");
</script>

View file

@ -13,8 +13,13 @@ testRanges.unshift("[]");
var range = rangeFromEndpoints([paras[0].firstChild, 0, paras[0].firstChild, 1]);
function testRange(rangeDesc, method) {
var endpoints = eval(testRanges[i]);
if (endpoints.length && (!isSelectableNode(endpoints[0]) ||
!isSelectableNode(endpoints[2]))) {
return;
}
test(function() {
setSelectionForwards(eval(rangeDesc));
setSelectionForwards(endpoints);
selection[method]();
assert_equals(selection.rangeCount, 0,
"After " + method + "(), rangeCount must be 0");
@ -28,7 +33,7 @@ function testRange(rangeDesc, method) {
// Copy-pasted from above
test(function() {
setSelectionBackwards(eval(rangeDesc));
setSelectionBackwards(endpoints);
selection[method]();
assert_equals(selection.rangeCount, 0,
"After " + method + "(), rangeCount must be 0");