<html>
<head>
    <script src="../../resources/js-test-pre.js"></script>
    <script>
        description('<a href="https://bugs.webkit.org/show_bug.cgi?id=91451">Bug 91451</a>: REGRESSION: RenderInline::absoluteQuads produces incorrect results for fixed position.');

        function runTest()
        {
            inline = document.getElementById("inlineElement");
            inlineRect = inline.getBoundingClientRect();
            parent = inline.parentNode;
            parentRect = parent.getBoundingClientRect();
            shouldBe("inlineRect.left", "parentRect.left");
        }

        window.onload = runTest;
    </script>
</head>
<body>
    <div style="position:fixed">
        <span id="inlineElement"></span>
    </div>
    <script src="../../resources/js-test-post.js"></script>
</body>
</html>
