<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <script>
        window.onload = function() {
            if (window.testRunner) {
                testRunner.dumpAsText();
                testRunner.waitUntilDone();
                setTimeout(function(){ testRunner.notifyDone() }, 0);
            }
        }
    </script>
    <defs>
        <animate id="animate" />
    </defs>
    <use xlink:href="#inner_use" />
    <use id="inner_use" xlink:href="#animate" />
    <set from="0" to="10" dur="0.1s" xlink:href="#animate" attributeName="x" />
    <text x="20" y="20" fill="green">PASS: Animating pruned shadow tree did not cause a crash.</text>
</svg>
