<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by tools/gentest.py. -->
<title>Canvas test: 2d.scrollPathIntoView.basic</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/canvas-tests.js"></script>
<link rel="stylesheet" href="/common/canvas-tests.css">
<body class="show_output">

<h1>2d.scrollPathIntoView.basic</h1>
<p class="desc">scrollPathIntoView() works</p>


<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>

<ul id="d"></ul>
<script>
var t = async_test("scrollPathIntoView() works");
_addTest(function(canvas, ctx) {

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();
_assertSame(Math.round(rect.top), -8, "Math.round(rect.top)", "-8");
_assertSame(Math.round(rect.left), 200, "Math.round(rect.left)", "200");


});
</script>

