<head>
    <script src="resources/text-based-repaint.js" type="text/javascript"></script>
    <script>
        function repaintTest()
        {
            document.getElementById("target").firstChild.appendData(".");
        }
    </script>
</head>
<body onload="runRepaintAndPixelTest()">
    <p>
        Test for <i><a href="rdar://problem/6771547">rdar://problem/6771547</a> Appending to a LayoutText causes all its lines to be dirtied</i>.
    </p>
    <p id="target">
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse placerat. Morbi tristique. Mauris eu lacus sed felis pellentesque cursus. Proin vitae nulla. Vivamus in ipsum. Etiam mi. Nam malesuada purus in sem. Sed eget elit vel erat laoreet feugiat. Phasellus mollis pulvinar mi. Etiam ut neque sed eros egestas laoreet. Vestibulum ullamcorper, nulla non feugiat molestie, mi lorem bibendum leo, ac gravida orci nunc nec nulla. Nunc nunc lorem, rhoncus et, rutrum ac, fermentum ut, tortor. Sed rhoncus. Quisque enim metus, luctus tincidunt, vestibulum eu, vestibulum eu, libero. Mauris sagittis aliquam nunc. Nullam pharetra molestie eros. Donec tempus purus ut ligula. Phasellus non nisl. Etiam eu mauris. Curabitur a velit</p>
</body>
