<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<text id="text">
    bar
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        // This triggers a layout before adding the #text node.
        document.getElementById('text').scrollIntoView('foo');

        var text = document.getElementById('text');
        text.insertBefore(document.createTextNode('foo'), text.firstChild);

        // This triggers a layout after adding the #text node to fire the ASSERT.
        document.getElementById('text').scrollIntoView('foo');
    </script>
</text>
<text x="10" y="50">Test for bug <a xlink:href="https://bugs.webkit.org/show_bug.cgi?id=63076">63076</a>: Assertion failure in RenderSVGInlineText::characterStartsNewTextChunk</text>
<text x="10" y="100">This test passes if it does not crash</text>
</svg>
