Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

SVG Preview (Scaled)

Preview of https://hg.mozilla.org/mozilla-central/raw-file/tip/testing/web-platform/tests/svg/scripted/text-tspan-attrs-have-length.svg
<?xml version="1.0" standalone="no"?>
<metadata>
<h:meta name="assert" content="x y dx dy and rotate attributes on text and tspan elements are lists that support length()"/>
</metadata>
<text id="text" font-family="Verdana" font-size="55" fill="blue"
y="150 130 160" x="120 160 200 240" rotate="0 0 10, -10, 0">
My <tspan id="tspan" x="280 325" y="150 155 160 165 170" rotate="-30,0,30">socks</tspan>
are blue.
</text>
<h:script src="/resources/testharness.js"/>
<h:script src="/resources/testharnessreport.js"/>
<script><![CDATA[
test(function() {
/* Make sure that text.y is a list, (presumably
* SVGAnimatedLengthList) and that the list has a
* length() method and that it returns the right thing.
*
* This test is for a change in SVG for 2.0, since 1.x, to add
* a length property.
*/
var text = document.getElementById('text');
assert_equals(text.y.baseVal.length, 3);
assert_equals(text.x.baseVal.length, 4);
assert_equals(text.rotate.baseVal.length, 5);
/* same for tspan */
var tspan = document.getElementById('tspan');
assert_equals(tspan.x.baseVal.length, 2);
assert_equals(tspan.y.baseVal.length, 5);
assert_equals(tspan.rotate.baseVal.length, 3);
/* Note, we only have to test that the length property
* is there (and interoperable) when there is a list given;
* in practice it's there with value 0 when the attributes are
* absent, but that's not required, the attribute could be implemented
* as a plain string in that case, or absent entirely, I think
* - Liam Quin 2018
*/
});
]]></script>
</svg>