<html xmlns="http://www.w3.org/1999/xhtml">
    <body>
        <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
            <text>
                PASS
                <textPath>
                    <tref xlink:href="#foo">
                        <animateColor attributeName="keyPoints"></animateColor>
                        <animateColor attributeName="xlink:href"></animateColor>
                    </tref>
                </textPath>
            </text>
        </svg>
        <script>
            if (window.testRunner)
                testRunner.dumpAsText();
        </script>
    </body>
</html>

