| OLD | NEW |
| (Empty) |
| 1 description("This test checks the use of SVGAnimatedEnumeration within SVGMarker
Element"); | |
| 2 | |
| 3 var markerElement = document.createElementNS("http://www.w3.org/2000/svg", "mark
er"); | |
| 4 markerElement.setAttribute("markerUnits", "userSpaceOnUse"); | |
| 5 markerElement.setAttribute("orient", "auto"); | |
| 6 | |
| 7 var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg"); | |
| 8 | |
| 9 // markerUnits | |
| 10 debug(""); | |
| 11 debug("Check initial 'markerUnits' value"); | |
| 12 shouldBeEqualToString("markerElement.markerUnits.toString()", "[object SVGAnimat
edEnumeration]"); | |
| 13 shouldBeEqualToString("typeof(markerElement.markerUnits.baseVal)", "number"); | |
| 14 shouldBe("markerElement.markerUnits.baseVal", "SVGMarkerElement.SVG_MARKERUNITS_
USERSPACEONUSE"); | |
| 15 | |
| 16 debug(""); | |
| 17 debug("Switch to 'strokeWidth'"); | |
| 18 shouldBe("markerElement.markerUnits.baseVal = SVGMarkerElement.SVG_MARKERUNITS_S
TROKEWIDTH", "SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH"); | |
| 19 shouldBe("markerElement.markerUnits.baseVal", "SVGMarkerElement.SVG_MARKERUNITS_
STROKEWIDTH"); | |
| 20 shouldBeEqualToString("markerElement.getAttribute('markerUnits')", "strokeWidth"
); | |
| 21 | |
| 22 debug(""); | |
| 23 debug("Try setting invalid values"); | |
| 24 shouldThrow("markerElement.markerUnits.baseVal = 3"); | |
| 25 shouldBe("markerElement.markerUnits.baseVal", "SVGMarkerElement.SVG_MARKERUNITS_
STROKEWIDTH"); | |
| 26 shouldBeEqualToString("markerElement.getAttribute('markerUnits')", "strokeWidth"
); | |
| 27 | |
| 28 shouldThrow("markerElement.markerUnits.baseVal = -1"); | |
| 29 shouldBe("markerElement.markerUnits.baseVal", "SVGMarkerElement.SVG_MARKERUNITS_
STROKEWIDTH"); | |
| 30 shouldBeEqualToString("markerElement.getAttribute('markerUnits')", "strokeWidth"
); | |
| 31 | |
| 32 shouldThrow("markerElement.markerUnits.baseVal = 0"); | |
| 33 shouldBe("markerElement.markerUnits.baseVal", "SVGMarkerElement.SVG_MARKERUNITS_
STROKEWIDTH"); | |
| 34 shouldBeEqualToString("markerElement.getAttribute('markerUnits')", "strokeWidth"
); | |
| 35 | |
| 36 debug(""); | |
| 37 debug("Switch to 'userSpaceOnUse'"); | |
| 38 shouldBe("markerElement.markerUnits.baseVal = SVGMarkerElement.SVG_MARKERUNITS_U
SERSPACEONUSE", "SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE"); | |
| 39 shouldBe("markerElement.markerUnits.baseVal", "SVGMarkerElement.SVG_MARKERUNITS_
USERSPACEONUSE"); | |
| 40 shouldBeEqualToString("markerElement.getAttribute('markerUnits')", "userSpaceOnU
se"); | |
| 41 | |
| 42 // orientType | |
| 43 debug(""); | |
| 44 debug("Check initial 'orient' value"); | |
| 45 shouldBeEqualToString("markerElement.orientType.toString()", "[object SVGAnimate
dEnumeration]"); | |
| 46 shouldBeEqualToString("typeof(markerElement.orientType.baseVal)", "number"); | |
| 47 shouldBe("markerElement.orientAngle.baseVal.value", "0"); | |
| 48 shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_U
NSPECIFIED"); | |
| 49 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_AUTO"); | |
| 50 | |
| 51 debug(""); | |
| 52 debug("Switch to 'Pi/2 rad' value - via setOrientToAngle()"); | |
| 53 shouldBeUndefined("anglePiHalfRad = svgElement.createSVGAngle(); anglePiHalfRad.
newValueSpecifiedUnits(SVGAngle.SVG_ANGLETYPE_RAD, (Math.PI / 2).toFixed(2))"); | |
| 54 shouldBeUndefined("markerElement.setOrientToAngle(anglePiHalfRad)"); | |
| 55 shouldBeEqualToString("markerElement.orientAngle.baseVal.value.toFixed(1)", "90.
0"); | |
| 56 shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_R
AD"); | |
| 57 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_ANGLE"); | |
| 58 shouldBeEqualToString("markerElement.getAttribute('orient')", (Math.PI / 2).toFi
xed(2) + "rad"); | |
| 59 | |
| 60 debug(""); | |
| 61 debug("Switch to 'auto' value - via setOrientToAuto()"); | |
| 62 shouldBeUndefined("markerElement.setOrientToAuto()"); | |
| 63 shouldBe("markerElement.orientAngle.baseVal.value", "0"); | |
| 64 shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_U
NSPECIFIED"); | |
| 65 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_AUTO"); | |
| 66 shouldBeEqualToString("markerElement.getAttribute('orient')", "auto"); | |
| 67 | |
| 68 debug(""); | |
| 69 debug("Switch to '20deg' value - via setOrientToAngle()"); | |
| 70 shouldBeUndefined("angle20deg = svgElement.createSVGAngle(); angle20deg.newValue
SpecifiedUnits(SVGAngle.SVG_ANGLETYPE_DEG, 20)"); | |
| 71 shouldBeUndefined("markerElement.setOrientToAngle(angle20deg)"); | |
| 72 shouldBe("markerElement.orientAngle.baseVal.value", "20"); | |
| 73 shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_D
EG"); | |
| 74 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_ANGLE"); | |
| 75 shouldBeEqualToString("markerElement.getAttribute('orient')", "20deg"); | |
| 76 | |
| 77 debug(""); | |
| 78 debug("Switch to '10deg' value"); | |
| 79 shouldBe("markerElement.orientAngle.baseVal.value = 10", "10"); | |
| 80 shouldBe("markerElement.orientAngle.baseVal.value", "10"); | |
| 81 shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_D
EG"); | |
| 82 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_ANGLE"); | |
| 83 shouldBeEqualToString("markerElement.getAttribute('orient')", "10deg"); | |
| 84 | |
| 85 debug(""); | |
| 86 debug("Switch to 'auto' value - by modifying orientType"); | |
| 87 shouldBe("markerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_
AUTO", "SVGMarkerElement.SVG_MARKER_ORIENT_AUTO"); | |
| 88 shouldBe("markerElement.orientAngle.baseVal.value", "0"); | |
| 89 shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_U
NSPECIFIED"); | |
| 90 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_AUTO"); | |
| 91 shouldBeEqualToString("markerElement.getAttribute('orient')", "auto"); | |
| 92 | |
| 93 markerElement.setAttribute('orient', '10deg'); | |
| 94 | |
| 95 debug(""); | |
| 96 debug("Try setting invalid values"); | |
| 97 shouldThrow("markerElement.orientType.baseVal = 3"); | |
| 98 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_ANGLE"); | |
| 99 shouldBeEqualToString("markerElement.getAttribute('orient')", "10deg"); | |
| 100 | |
| 101 shouldThrow("markerElement.orientType.baseVal = -1"); | |
| 102 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_ANGLE"); | |
| 103 shouldBeEqualToString("markerElement.getAttribute('orient')", "10deg"); | |
| 104 | |
| 105 shouldThrow("markerElement.orientType.baseVal = 0"); | |
| 106 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_ANGLE"); | |
| 107 shouldBeEqualToString("markerElement.getAttribute('orient')", "10deg"); | |
| 108 | |
| 109 debug(""); | |
| 110 debug("Switch back to 'auto' value"); | |
| 111 shouldBe("markerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_
AUTO", "SVGMarkerElement.SVG_MARKER_ORIENT_AUTO"); | |
| 112 shouldBe("markerElement.orientAngle.baseVal.value", "0"); | |
| 113 shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_U
NSPECIFIED"); | |
| 114 shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT
_AUTO"); | |
| 115 shouldBeEqualToString("markerElement.getAttribute('orient')", "auto"); | |
| 116 | |
| 117 successfullyParsed = true; | |
| OLD | NEW |