| Index: third_party/WebKit/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html
|
| diff --git a/third_party/WebKit/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html b/third_party/WebKit/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html
|
| index f10e159f4feb8fbda17692b8c29820d35fcee157..2f676533cbe32bbc35f28f3a7e7095aad6044128 100644
|
| --- a/third_party/WebKit/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html
|
| +++ b/third_party/WebKit/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html
|
| @@ -1,11 +1,113 @@
|
| -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
| -<html>
|
| -<head>
|
| -<script src="../../resources/js-test.js"></script>
|
| -</head>
|
| -<body>
|
| -<p id="description"></p>
|
| -<div id="console"></div>
|
| -<script src="script-tests/SVGAnimatedEnumeration-SVGMarkerElement.js"></script>
|
| -</body>
|
| -</html>
|
| +<!DOCTYPE HTML>
|
| +<title>Use of SVGAnimatedEnumeration within SVGMarkerElement</title>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<script>
|
| +test(function() {
|
| + // This test checks the use of SVGAnimatedEnumeration within SVGMarkerElement.
|
| +
|
| + var markerElement = document.createElementNS("http://www.w3.org/2000/svg", "marker");
|
| + markerElement.setAttribute("markerUnits", "userSpaceOnUse");
|
| + markerElement.setAttribute("orient", "auto");
|
| +
|
| + var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
| +
|
| + // markerUnits
|
| + // Check initial 'markerUnits' value.
|
| + assert_true(markerElement.markerUnits instanceof SVGAnimatedEnumeration);
|
| + assert_equals(typeof(markerElement.markerUnits.baseVal), "number");
|
| + assert_equals(markerElement.markerUnits.baseVal, SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE);
|
| +
|
| + // Switch to 'strokeWidth'.
|
| + markerElement.markerUnits.baseVal = SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH;
|
| + assert_equals(markerElement.markerUnits.baseVal, SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH);
|
| + assert_equals(markerElement.getAttribute('markerUnits'), "strokeWidth");
|
| +
|
| + // Try setting invalid values.
|
| + assert_throws(new TypeError(), function() { markerElement.markerUnits.baseVal = 3; });
|
| + assert_equals(markerElement.markerUnits.baseVal, SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH);
|
| + assert_equals(markerElement.getAttribute('markerUnits'), "strokeWidth");
|
| +
|
| + assert_throws(new TypeError(), function() { markerElement.markerUnits.baseVal = -1; });
|
| + assert_equals(markerElement.markerUnits.baseVal, SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH);
|
| + assert_equals(markerElement.getAttribute('markerUnits'), "strokeWidth");
|
| +
|
| + assert_throws(new TypeError(), function() { markerElement.markerUnits.baseVal = 0; });
|
| + assert_equals(markerElement.markerUnits.baseVal, SVGMarkerElement.SVG_MARKERUNITS_STROKEWIDTH);
|
| + assert_equals(markerElement.getAttribute('markerUnits'), "strokeWidth");
|
| +
|
| + // Switch to 'userSpaceOnUse'
|
| + markerElement.markerUnits.baseVal = SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE;
|
| + assert_equals(markerElement.markerUnits.baseVal, SVGMarkerElement.SVG_MARKERUNITS_USERSPACEONUSE);
|
| + assert_equals(markerElement.getAttribute('markerUnits'), "userSpaceOnUse");
|
| +
|
| + // orientType
|
| + // Check initial 'orient' value.
|
| + assert_true(markerElement.orientType instanceof SVGAnimatedEnumeration);
|
| + assert_equals(typeof(markerElement.orientType.baseVal), "number");
|
| + assert_equals(markerElement.orientAngle.baseVal.value, 0);
|
| + assert_equals(markerElement.orientAngle.baseVal.unitType, SVGAngle.SVG_ANGLETYPE_UNSPECIFIED);
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_AUTO);
|
| +
|
| + // Switch to 'Pi/2 rad' value - via setOrientToAngle().
|
| + anglePiHalfRad = svgElement.createSVGAngle();
|
| + anglePiHalfRad.newValueSpecifiedUnits(SVGAngle.SVG_ANGLETYPE_RAD, (Math.PI / 2).toFixed(2));
|
| + markerElement.setOrientToAngle(anglePiHalfRad);
|
| + assert_equals(markerElement.orientAngle.baseVal.value.toFixed(1), "90.0");
|
| + assert_equals(markerElement.orientAngle.baseVal.unitType, SVGAngle.SVG_ANGLETYPE_RAD);
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE);
|
| + assert_equals(markerElement.getAttribute('orient'), (Math.PI / 2).toFixed(2) + "rad");
|
| +
|
| + // Switch to 'auto' value - via setOrientToAuto().
|
| + markerElement.setOrientToAuto();
|
| + assert_equals(markerElement.orientAngle.baseVal.value, 0);
|
| + assert_equals(markerElement.orientAngle.baseVal.unitType, SVGAngle.SVG_ANGLETYPE_UNSPECIFIED);
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_AUTO);
|
| + assert_equals(markerElement.getAttribute('orient'), "auto");
|
| +
|
| + // Switch to '20deg' value - via setOrientToAngle().
|
| + angle20deg = svgElement.createSVGAngle();
|
| + angle20deg.newValueSpecifiedUnits(SVGAngle.SVG_ANGLETYPE_DEG, 20);
|
| + markerElement.setOrientToAngle(angle20deg);
|
| + assert_equals(markerElement.orientAngle.baseVal.value, 20);
|
| + assert_equals(markerElement.orientAngle.baseVal.unitType, SVGAngle.SVG_ANGLETYPE_DEG);
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE);
|
| + assert_equals(markerElement.getAttribute('orient'), "20deg");
|
| +
|
| + // Switch to '10deg' value.
|
| + markerElement.orientAngle.baseVal.value = 10;
|
| + assert_equals(markerElement.orientAngle.baseVal.value, 10);
|
| + assert_equals(markerElement.orientAngle.baseVal.unitType, SVGAngle.SVG_ANGLETYPE_DEG);
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE);
|
| + assert_equals(markerElement.getAttribute('orient'), "10deg");
|
| +
|
| + // Switch to 'auto' value - by modifying orientType.
|
| + markerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO;
|
| + assert_equals(markerElement.orientAngle.baseVal.value, 0);
|
| + assert_equals(markerElement.orientAngle.baseVal.unitType, SVGAngle.SVG_ANGLETYPE_UNSPECIFIED);
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_AUTO);
|
| + assert_equals(markerElement.getAttribute('orient'), "auto");
|
| +
|
| + markerElement.setAttribute('orient', '10deg');
|
| +
|
| + // Try setting invalid values.
|
| + assert_throws(new TypeError(), function() { markerElement.orientType.baseVal = 3; });
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE);
|
| + assert_equals(markerElement.getAttribute('orient'), "10deg");
|
| +
|
| + assert_throws(new TypeError(), function() { markerElement.orientType.baseVal = -1; });
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE);
|
| + assert_equals(markerElement.getAttribute('orient'), "10deg");
|
| +
|
| + assert_throws(new TypeError(), function() { markerElement.orientType.baseVal = 0; });
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE);
|
| + assert_equals(markerElement.getAttribute('orient'), "10deg");
|
| +
|
| + // Switch back to 'auto' value.
|
| + markerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO;
|
| + assert_equals(markerElement.orientAngle.baseVal.value, 0);
|
| + assert_equals(markerElement.orientAngle.baseVal.unitType, SVGAngle.SVG_ANGLETYPE_UNSPECIFIED);
|
| + assert_equals(markerElement.orientType.baseVal, SVGMarkerElement.SVG_MARKER_ORIENT_AUTO);
|
| + assert_equals(markerElement.getAttribute('orient'), "auto");
|
| +});
|
| +</script>
|
|
|