| <!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> |
| description("This test checks the SVGPoint API"); |
| |
| var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg"); |
| var point = svgElement.createSVGPoint(); |
| |
| debug(""); |
| debug("Check initial point values"); |
| shouldBe("point.x", "0"); |
| shouldBe("point.y", "0"); |
| |
| debug(""); |
| debug("Check assigning points"); |
| shouldBe("point.x = 100", "100"); |
| shouldBe("point.y = 200", "200"); |
| |
| debug(""); |
| debug("Check assigning invalid points"); |
| shouldBe("point.x = point", "point"); |
| shouldBeNull("point.y = null"); |
| |
| debug(""); |
| debug("Check that the point contains the correct values"); |
| shouldBe("point.x", "NaN"); |
| shouldBe("point.y", "0"); |
| |
| debug(""); |
| debug("Reset to -50, 100"); |
| point.x = -50; |
| point.y = 100; |
| |
| debug(""); |
| debug("Check 'matrixTransform' method - multiply with -1,0,0,2,10,10 matrix, should flip x coordinate, multiply y by two and translate each coordinate by 10"); |
| var ctm = svgElement.createSVGMatrix(); |
| ctm.a = -1; |
| ctm.d = 2; |
| ctm.e = 10; |
| ctm.f = 10; |
| shouldBeEqualToString("(newPoint = point.matrixTransform(ctm)).toString()", "[object SVGPoint]"); |
| shouldBe("newPoint.x", "60"); |
| shouldBe("newPoint.y", "210"); |
| |
| debug(""); |
| debug("Check invalid arguments for 'matrixTransform'"); |
| shouldThrow("point.matrixTransform()"); |
| shouldThrow("point.matrixTransform(-1)"); |
| shouldThrow("point.matrixTransform(5)"); |
| shouldThrow("point.matrixTransform('aString')"); |
| shouldThrow("point.matrixTransform(point)"); |
| shouldThrow("point.matrixTransform(svgElement)"); |
| |
| successfullyParsed = true; |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |