chromium/third_party/blink/web_tests/svg/css/cursor-image-replace.svg

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400" onload="startup()">
<defs id="defs">
    <cursor id="cursor1" xlink:href="data:image/png;base64,"/>
    <cursor id="cursor2" xlink:href="data:image/png;base64,"/>
</defs>

<script>
<![CDATA[

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
    gc = function(){window.GCController.collect()};
} else if (!window.gc)
    gc = function(){};

var outer;
var inner;

function startup() {
    outer = document.getElementById("outer");
    inner = document.getElementById("inner");

    if (location.hash != "#3") {
        if (location.hash)
            location.hash = "#" + (parseInt(location.hash.slice(1)) + 1).toString();
        else
            location.hash = "#1";
        setTimeout(step1, 0);
    } else {
        gc();
        inner.setAttribute('fill', "green");
        while (inner.firstChild)
            inner.removeChild(inner.firstChild);
        inner.appendChild(document.createTextNode("PASS: Successfully changed cursors."));
        if (window.testRunner)
            testRunner.notifyDone();
    }
}

function step1() {
    outer.setAttribute('cursor', "url('#cursor2')");
    inner.removeAttribute('cursor');
    setTimeout(step2, 0);
}

function step2() {
    outer.removeAttribute('cursor');
    setTimeout(function(){location.reload()}, 0);
}


//]]>
</script>

<g id="outer">
    <text x="20" y="20" fill="red" id="inner" cursor="url('#cursor1')">X</text>
</g>
</svg>