| <!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> |