89 lines
2.9 KiB
HTML
89 lines
2.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="description"></p>
|
|
<div id="console"></div>
|
|
<script>
|
|
SVGNumber.prototype.toString = function() {
|
|
return this.value.toString();
|
|
}
|
|
|
|
SVGLength.prototype.toString = function() {
|
|
return this.valueAsString;
|
|
}
|
|
|
|
SVGPoint.prototype.toString = function() {
|
|
return this.x + "," + this.y;
|
|
}
|
|
|
|
SVGTransform.prototype.toString = function() {
|
|
switch (this.type) {
|
|
case SVGTransform.SVG_TRANSFORM_TRANSLATE:
|
|
return "translate(" + this.matrix.e + ", " + this.matrix.f + ")";
|
|
case SVGTransform.SVG_TRANSFORM_SCALE:
|
|
return "scale(" + this.matrix.a + ", " + this.matrix.d + ")";
|
|
}
|
|
return "";
|
|
}
|
|
|
|
function SVGListToString(list) {
|
|
var s = "";
|
|
|
|
for (var i = 0; i < list.length; ++i) {
|
|
if (s.length)
|
|
s += " ";
|
|
s += list[i].toString();
|
|
}
|
|
|
|
return "[" + s + "]";
|
|
}
|
|
|
|
description("This test verifies the leading and the trailing spaces are ignored when parising the attributes of an SVG list properties");
|
|
|
|
var feColorMatrixElement = document.createElementNS("http://www.w3.org/2000/svg", "feColorMatrix");
|
|
feColorMatrixElement.setAttribute("values", " 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 ");
|
|
|
|
debug("");
|
|
debug("Check SVGNumberList parsing");
|
|
shouldBe("feColorMatrixElement.values.baseVal.length", "20");
|
|
shouldBeEqualToString("SVGListToString(feColorMatrixElement.values.baseVal)", "[0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0]");
|
|
|
|
var textElement = document.createElementNS("http://www.w3.org/2000/svg", "text");
|
|
textElement.setAttribute("x", " \t\n10 20 30 40 50 60 70 80 90 100\t\n ");
|
|
|
|
debug("");
|
|
debug("Check SVGLengthList parsing");
|
|
shouldBe("textElement.x.baseVal.length", "10");
|
|
shouldBeEqualToString("SVGListToString(textElement.x.baseVal)", "[10 20 30 40 50 60 70 80 90 100]");
|
|
|
|
var polylineElement = document.createElementNS("http://www.w3.org/2000/svg", "polyline");
|
|
polylineElement.setAttribute("points", " \t\n0 0 100 0 100 100 0 100\t\n ");
|
|
|
|
debug("");
|
|
debug("Check SVGPointList parsing");
|
|
shouldBe("polylineElement.points.length", "4");
|
|
shouldBeEqualToString("SVGListToString(polylineElement.points)", "[0,0 100,0 100,100 0,100]");
|
|
|
|
textElement.setAttribute("systemLanguage", " \t\n1 2 3 4 5 6 7 8 9 10\t\n ");
|
|
|
|
debug("");
|
|
debug("Check SVStringList parsing");
|
|
shouldBe("textElement.systemLanguage.length", "10");
|
|
shouldBeEqualToString("SVGListToString(textElement.systemLanguage)", "[1 2 3 4 5 6 7 8 9 10]");
|
|
|
|
textElement.setAttribute('transform', ' \t\nscale(2, 2) translate(10 10)\t\n ');
|
|
|
|
debug("");
|
|
debug("Check SVTransformList parsing");
|
|
shouldBe("textElement.transform.baseVal.length", "2");
|
|
shouldBeEqualToString("SVGListToString(textElement.transform.baseVal)", "[scale(2, 2) translate(10, 10)]");
|
|
|
|
successfullyParsed = true;
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|