3
3
< script src ="/resources/testharness.js "> </ script >
4
4
< script src ="/resources/testharnessreport.js "> </ script >
5
5
< script >
6
- test ( function ( ) {
7
- // This test checks the use of SVGAnimatedEnumeration within SVGMarkerElement.
8
-
9
- var markerElement = document . createElementNS ( "http://www.w3.org/2000/svg" , "marker" ) ;
6
+ function createMarker ( ) {
7
+ let markerElement = document . createElementNS ( "http://www.w3.org/2000/svg" , "marker" ) ;
10
8
markerElement . setAttribute ( "markerUnits" , "userSpaceOnUse" ) ;
11
9
markerElement . setAttribute ( "orient" , "auto" ) ;
10
+ return markerElement ;
11
+ }
12
12
13
- var svgElement = document . createElementNS ( "http://www.w3.org/2000/svg" , "svg" ) ;
13
+ function createSVGAngle ( ) {
14
+ let svgElement = document . createElementNS ( "http://www.w3.org/2000/svg" , "svg" ) ;
15
+ return svgElement . createSVGAngle ( ) ;
16
+ }
17
+
18
+ test ( function ( ) {
19
+ // This test checks the use of SVGAnimatedEnumeration within SVGMarkerElement.
20
+
21
+ let markerElement = createMarker ( ) ;
14
22
15
23
// markerUnits
16
24
// Check initial 'markerUnits' value.
40
48
markerElement . markerUnits . baseVal = SVGMarkerElement . SVG_MARKERUNITS_USERSPACEONUSE ;
41
49
assert_equals ( markerElement . markerUnits . baseVal , SVGMarkerElement . SVG_MARKERUNITS_USERSPACEONUSE ) ;
42
50
assert_equals ( markerElement . getAttribute ( 'markerUnits' ) , "userSpaceOnUse" ) ;
51
+ } , "Test SVGAnimatedEnumeration" ) ;
52
+
53
+ test ( function ( ) {
54
+ let markerElement = createMarker ( ) ;
43
55
44
56
// orientType
45
57
// Check initial 'orient' value.
50
62
assert_equals ( markerElement . orientType . baseVal , SVGMarkerElement . SVG_MARKER_ORIENT_AUTO ) ;
51
63
52
64
// Switch to 'Pi/2 rad' value - via setOrientToAngle().
53
- anglePiHalfRad = svgElement . createSVGAngle ( ) ;
65
+ let anglePiHalfRad = createSVGAngle ( ) ;
54
66
anglePiHalfRad . newValueSpecifiedUnits ( SVGAngle . SVG_ANGLETYPE_RAD , ( Math . PI / 2 ) . toFixed ( 2 ) ) ;
55
67
markerElement . setOrientToAngle ( anglePiHalfRad ) ;
56
68
assert_equals ( markerElement . orientAngle . baseVal . value . toFixed ( 1 ) , "90.0" ) ;
66
78
assert_equals ( markerElement . getAttribute ( 'orient' ) , "auto" ) ;
67
79
68
80
// Switch to '20deg' value - via setOrientToAngle().
69
- angle20deg = svgElement . createSVGAngle ( ) ;
81
+ let angle20deg = createSVGAngle ( ) ;
70
82
angle20deg . newValueSpecifiedUnits ( SVGAngle . SVG_ANGLETYPE_DEG , 20 ) ;
71
83
markerElement . setOrientToAngle ( angle20deg ) ;
72
84
assert_equals ( markerElement . orientAngle . baseVal . value , 20 ) ;
91
103
markerElement . setAttribute ( 'orient' , '10deg' ) ;
92
104
93
105
// Try setting invalid values.
94
- assert_throws_js ( TypeError , function ( ) { markerElement . orientType . baseVal = 3 ; } ) ;
106
+ assert_throws_js ( TypeError , function ( ) { markerElement . orientType . baseVal = 4 ; } ) ;
95
107
assert_equals ( markerElement . orientType . baseVal , SVGMarkerElement . SVG_MARKER_ORIENT_ANGLE ) ;
96
108
assert_equals ( markerElement . getAttribute ( 'orient' ) , "10deg" ) ;
97
109
109
121
assert_equals ( markerElement . orientAngle . baseVal . unitType , SVGAngle . SVG_ANGLETYPE_UNSPECIFIED ) ;
110
122
assert_equals ( markerElement . orientType . baseVal , SVGMarkerElement . SVG_MARKER_ORIENT_AUTO ) ;
111
123
assert_equals ( markerElement . getAttribute ( 'orient' ) , "auto" ) ;
112
- } ) ;
113
- </ script >
124
+ } , "Test SVGOrient" ) ;
125
+
126
+ test ( function ( ) {
127
+ let markerElement = createMarker ( ) ;
128
+
129
+ markerElement . setAttribute ( 'orient' , '400grad' ) ;
130
+ assert_equals ( markerElement . orientAngle . baseVal . value , 360 ) ;
131
+ assert_equals ( markerElement . orientAngle . baseVal . unitType , SVGAngle . SVG_ANGLETYPE_GRAD ) ;
132
+ } , "Test grad units" ) ;
133
+
134
+ test ( function ( ) {
135
+ let markerElement = createMarker ( ) ;
136
+
137
+ markerElement . setAttribute ( 'orient' , '1turn' ) ;
138
+ assert_equals ( markerElement . orientAngle . baseVal . value , 360 ) ;
139
+ assert_equals ( markerElement . orientAngle . baseVal . unitType , SVGAngle . SVG_ANGLETYPE_UNKNOWN ) ;
140
+
141
+ let angle = createSVGAngle ( ) ;
142
+ angle = markerElement . orientAngle . baseVal ;
143
+ angle . value = 720 ;
144
+ markerElement . setOrientToAngle ( angle ) ;
145
+ assert_equals ( markerElement . getAttribute ( 'orient' ) , "2turn" ) ;
146
+ } , "Test turn units" ) ;
147
+
148
+ test ( function ( ) {
149
+ let markerElement = createMarker ( ) ;
150
+
151
+ // Switch to 'auto-start-reverse' value - by modifying orientType.
152
+ markerElement . orientType . baseVal = SVGMarkerElement . SVG_MARKER_ORIENT_AUTO_START_REVERSE ;
153
+ assert_equals ( markerElement . orientAngle . baseVal . value , 0 ) ;
154
+ assert_equals ( markerElement . orientAngle . baseVal . unitType , SVGAngle . SVG_ANGLETYPE_UNSPECIFIED ) ;
155
+ assert_equals ( markerElement . orientType . baseVal , SVGMarkerElement . SVG_MARKER_ORIENT_AUTO_START_REVERSE ) ;
156
+ assert_equals ( markerElement . getAttribute ( 'orient' ) , "auto-start-reverse" ) ;
157
+ } , "Test auto-start-reverse" ) ;
158
+ </ script >
0 commit comments