<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="runRepaintTest()">
    <script xlink:href="../../fast/repaint/resources/repaint.js"/>
    <g font-size="40">
        <text id="text" y="50" display="none">
            <tspan id="tspan" x="50" dy="1em">Two lines of text should be visible.</tspan>
        </text>
    </g>
    <script>
        function repaintTest() {
            var tspan1 = document.getElementById("tspan");
            var result = 0;
            try {
                result = tspan1.dy.baseVal.getItem(0).value;
            } catch(e) { }

            var tspan2 = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
            tspan2.setAttribute("x", "50");
            tspan2.setAttribute("dy", result);
            tspan2.textContent = "Two lines of text should be visible.";
            document.getElementById("text").appendChild(tspan2);
            document.getElementById("text").setAttribute("display", "inline");
        }
    </script>
</svg>
