gecko-dev/layout/reftests/svg/pseudo-classes-02.svg

82 строки
2.0 KiB
XML

<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/licenses/publicdomain/
-->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
class="reftest-wait">
<title>Testcase for pseudo-classes and text/links</title>
<!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=268135 -->
<style type="text/css">
<![CDATA[
:root { font-size: 2em; }
text > a:link { fill: lime; }
a:visited > text { fill: lime; }
tspan > a:link { fill: lime; }
a:visited > tspan { fill: lime; }
]]>
</style>
<!-- link in text -->
<text x="10" y="50">
<a xlink:href="do-not-visit-me.xxx" fill="red">This should be green</a>
</text>
<!-- text in link -->
<a xlink:href="">
<text id="t2" x="10" y="100" fill="red">This should be green</text>
</a>
<!-- link in tspan -->
<text>
<tspan x="10" y="150">
<a xlink:href="do-not-visit-me.xxx" fill="red">This should be green</a>
</tspan>
</text>
<!-- tspan in link -->
<text>
<a xlink:href="">
<tspan id="t4" x="10" y="200" fill="red">This should be green</tspan>
</a>
</text>
<script type="text/javascript;version=1.7"><![CDATA[
let tests = testIterator();
function nextTest()
{
tests.next();
}
function testIterator()
{
let t2 = document.getElementById("t2");
let t4 = document.getElementById("t4");
const kExpectedFill = "rgb(0, 255, 0)";
// Because link coloring is asynchronous, we wait until it is updated.
while (getComputedStyle(t2, "").getPropertyValue("fill") != kExpectedFill) {
setTimeout(nextTest, 10);
yield;
}
while (getComputedStyle(t4, "").getPropertyValue("fill") != kExpectedFill) {
setTimeout(nextTest, 10);
yield;
}
// Remove the reftest-wait class so the test harness knows to take the
// snapshot.
document.documentElement.removeAttribute("class");
yield;
}
nextTest();
]]></script>
</svg>