Update web-platform-tests to revision e3cf1284464a4a3e46fd15e4138f8e32c6cecdd8

This commit is contained in:
WPT Sync Bot 2019-04-18 21:48:35 -04:00
parent b20333a324
commit c5c325d8bb
57 changed files with 1422 additions and 493 deletions

View file

@ -68,4 +68,29 @@ test(() => {
assert_equals(scroller.scrollTop, 0);
}, "A scroll with intended end position should always choose the closest snap " +
"position regardless of the scroll-snap-stop value.")
// Tests for programmatic scrolls beyond the scroller bounds.
test(() => {
scroller.scrollTo(0, 0);
assert_equals(scroller.scrollLeft, 0);
assert_equals(scroller.scrollTop, 0);
scroller.scrollBy(100000, 0);
assert_equals(scroller.scrollLeft, 100);
assert_equals(scroller.scrollTop, 0);
}, "A scroll outside bounds in the snapping axis with intended direction and " +
"end position should not pass a snap area with scroll-snap-stop: always.")
test(() => {
scroller.scrollTo(0, 0);
assert_equals(scroller.scrollLeft, 0);
assert_equals(scroller.scrollTop, 0);
scroller.scrollBy(300, -10);
assert_equals(scroller.scrollLeft, 100);
assert_equals(scroller.scrollTop, 0);
}, "A scroll outside bounds in the non-snapping axis with intended direction " +
"and end position should not pass a snap area with scroll-snap-stop: always.")
</script>

View file

@ -74,7 +74,9 @@ var viewport = document.scrollingElement;
[
[{left: 800}, 1000, 0],
[{top: 900}, 0, 1000],
[{left: 900, top: 800}, 1000, 1000]
[{left: 900, top: 800}, 1000, 1000],
[{left: 800, top: -100}, 1000, 0], /* outside bounds on y axis */
[{left: 10000, top: -100}, 1000, 0] /* outside bounds on both axes */
].forEach(([input, expectedX, expectedY]) => {
test(() => {
divScroller.scrollTo(0, 0);

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/cssom-view-1/#extensions-to-the-htmlelement-interface">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
.container {
position: relative;
width: 8em;
height: 7em;
padding: 1em;
}
</style>
<div class="container" style="writing-mode:horizontal-tb;">
<br><span class="target"></span><span>ref</span>
</div>
<div class="container" style="writing-mode:vertical-lr;">
<br><span class="target"></span><span>ref</span>
</div>
<div class="container" style="writing-mode:vertical-rl;">
<br><span class="target"></span><span>ref</span>
</div>
<script>
var i = 0;
document.querySelectorAll('span.target').forEach((target) => {
var ref = target.nextSibling;
test(() => {
assert_equals(target.offsetLeft, ref.offsetLeft, 'offsetLeft');
assert_equals(target.offsetTop, ref.offsetTop, 'offsetTop');
}, 'offsetTop/Left of empty inline elements should work as if they were not empty: ' + i);
i++;
});
</script>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/cssom-view-1/#extensions-to-the-htmlelement-interface">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
.container {
position: relative;
width: 8em;
height: 7em;
padding: 1em;
}
</style>
<div class="container" style="writing-mode:horizontal-tb;">
<br><span class="target"> </span><span>ref</span>
</div>
<div class="container" style="writing-mode:vertical-lr;">
<br><span class="target"> </span><span>ref</span>
</div>
<div class="container" style="writing-mode:vertical-rl;">
<br><span class="target"> </span><span>ref</span>
</div>
<script>
var i = 0;
document.querySelectorAll('span.target').forEach((target) => {
var ref = target.nextSibling;
test(() => {
assert_equals(target.offsetLeft, ref.offsetLeft, 'offsetLeft');
assert_equals(target.offsetTop, ref.offsetTop, 'offsetTop');
}, 'offsetTop/Left of empty inline elements should work as if they were not empty: ' + i);
i++;
});
</script>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<link rel="help" href="https://drafts.csswg.org/cssom-view-1/#extensions-to-the-htmlelement-interface">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<style>
.container {
position: relative;
width: 8em;
height: 7em;
padding: 1em;
}
</style>
<div class="container" style="writing-mode:horizontal-tb;">
<br><span>ref</span><span class="target"> </span>
</div>
<div class="container" style="writing-mode:vertical-lr;">
<br><span>ref</span><span class="target"> </span>
</div>
<div class="container" style="writing-mode:vertical-rl;">
<br><span>ref</span><span class="target"> </span>
</div>
<script>
var i = 0;
document.querySelectorAll('span.target').forEach((target) => {
var ref = target.previousSibling;
test(() => {
assert_equals(target.offsetLeft,
ref.offsetLeft + (i ? 0 : ref.offsetWidth),
'offsetLeft');
assert_equals(target.offsetTop,
ref.offsetTop + (i ? ref.offsetHeight : 0),
'offsetTop');
}, 'offsetTop/Left of empty inline elements should work as if they were not empty: ' + i);
i++;
});
</script>