blob: 4c1ec563de7939da331b5ba61bbba67dc094303d [file] [log] [blame]
- name: 2d.scrollPathIntoView.basic
desc: scrollPathIntoView() works
testing:
- 2d.scrollPathIntoView.basic
code: |
var div = document.createElement('div');
div.style.cssText = 'width: 200vw; height: 200vh';
document.body.appendChild(div);
canvas.style.cssText = 'position: absolute; top: 100px; left: 200px; border: none;';
window.scrollTo(0, 0);
ctx.beginPath();
ctx.rect(4, 8, 16, 32);
ctx.scrollPathIntoView();
var rect = canvas.getBoundingClientRect();
@assert Math.round(rect.top) === -8;
@assert Math.round(rect.left) === 200;
- name: 2d.scrollPathIntoView.verticalLR
desc: scrollPathIntoView() works in vertical-lr writing mode
testing:
- 2d.scrollPathIntoView.basic
code: |
document.documentElement.style.cssText = 'writing-mode: vertical-lr';
var div = document.createElement('div');
div.style.cssText = 'width: 200vw; height: 200vh';
document.body.appendChild(div);
canvas.style.cssText = 'position: absolute; top: 100px; left: 200px; border: none;';
window.scrollTo(0, 0);
ctx.beginPath();
ctx.rect(4, 8, 16, 32);
ctx.scrollPathIntoView();
var rect = canvas.getBoundingClientRect();
@assert Math.round(rect.top) === 100;
@assert Math.round(rect.left) === -4;
- name: 2d.scrollPathIntoView.verticalRL
desc: scrollPathIntoView() works in vertical-rl writing mode
testing:
- 2d.scrollPathIntoView.basic
code: |
document.documentElement.style.cssText = 'writing-mode: vertical-rl';
var div = document.createElement('div');
div.style.cssText = 'width: 200vw; height: 200vh';
document.body.appendChild(div);
canvas.style.cssText = 'position: absolute; top: 100px; right: 200px; border: none;';
window.scrollTo(0, 0);
ctx.beginPath();
ctx.rect(4, 8, 16, 32);
ctx.scrollPathIntoView();
var rect = canvas.getBoundingClientRect();
var viewportWidth = document.scrollingElement.clientWidth;
var canvasWidth = canvas.width;
@assert Math.round(rect.top) === 100;
@assert Math.round(rect.right) === viewportWidth + (canvasWidth - 4 - 16);
- name: 2d.scrollPathIntoView.path
desc: scrollPathIntoView() with path argument works
testing:
- 2d.scrollPathIntoView.basic
code: |
var div = document.createElement('div');
div.style.cssText = 'width: 200vw; height: 200vh';
document.body.appendChild(div);
canvas.style.cssText = 'position: absolute; top: 100px; left: 200px; border: none;';
window.scrollTo(0, 0);
var path = new Path2D();
path.rect(4, 8, 16, 32);
ctx.scrollPathIntoView(path);
var rect = canvas.getBoundingClientRect();
@assert Math.round(rect.top) === -8;
@assert Math.round(rect.left) === 200;