OLD | NEW |
---|---|
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 1 <!DOCTYPE HTML> |
2 <html> | 2 <title>SVGMatrix interface</title> |
3 <head> | 3 <script src="../../resources/testharness.js"></script> |
4 <script src="../../resources/js-test.js"></script> | 4 <script src="../../resources/testharnessreport.js"></script> |
5 </head> | 5 <script> |
6 <body> | 6 test(function() { |
7 <p id="description"></p> | 7 // This test checks the SVGMatrix API. |
8 <div id="console"></div> | 8 |
9 <script src="script-tests/SVGMatrix.js"></script> | 9 var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg") ; |
10 </body> | 10 var matrix = svgElement.createSVGMatrix(); |
11 </html> | 11 |
12 // Check initial matrix values. | |
13 assert_equals(matrix.a, 1); | |
14 assert_equals(matrix.b, 0); | |
15 assert_equals(matrix.c, 0); | |
16 assert_equals(matrix.d, 1); | |
17 assert_equals(matrix.e, 0); | |
18 assert_equals(matrix.f, 0); | |
19 | |
20 // Check assigning matrices. | |
21 matrix.a = 2; | |
22 assert_equals(matrix.a, 2); | |
23 matrix.f = 200; | |
24 assert_equals(matrix.f, 200); | |
25 | |
26 // Check assigning invalid matrices. | |
27 matrix.a = matrix; | |
fs
2017/03/10 09:58:10
Looks like we're repeating ourselves here quite a
Shanmuga Pandi
2017/03/13 07:36:28
Adding helper is not working.
I have tried like t
fs
2017/03/13 08:47:55
It would need to be something like:
function asse
Shanmuga Pandi
2017/03/13 08:58:55
Done.
| |
28 assert_equals(matrix.a, NaN); | |
29 matrix.a = 0; | |
30 assert_equals(matrix.a, 0); | |
31 matrix.a = svgElement; | |
32 assert_equals(matrix.a, NaN); | |
33 matrix.a = 0; | |
34 assert_equals(matrix.a, 0); | |
35 matrix.a = 'aString'; | |
36 assert_equals(matrix.a, NaN); | |
37 // Reset to previous value. | |
38 matrix.a = 2; | |
39 assert_equals(matrix.a, 2); | |
40 | |
41 matrix.b = matrix; | |
42 assert_equals(matrix.b, NaN); | |
43 matrix.b = 0; | |
44 assert_equals(matrix.b, 0); | |
45 matrix.b = svgElement; | |
46 assert_equals(matrix.b, NaN); | |
47 matrix.b = 0; | |
48 assert_equals(matrix.b, 0); | |
49 matrix.b = 'aString'; | |
50 assert_equals(matrix.b, NaN); | |
51 // Reset to previous value. | |
52 matrix.b = 0; | |
53 assert_equals(matrix.b, 0); | |
54 | |
55 matrix.c = matrix; | |
56 assert_equals(matrix.c, NaN); | |
57 matrix.c = 0; | |
58 assert_equals(matrix.c, 0); | |
59 matrix.c = svgElement; | |
60 assert_equals(matrix.c, NaN); | |
61 matrix.c = 0; | |
62 assert_equals(matrix.c, 0); | |
63 matrix.c = 'aString'; | |
64 assert_equals(matrix.c, NaN); | |
65 // Reset to previous value. | |
66 matrix.c = 0; | |
67 assert_equals(matrix.c, 0); | |
68 | |
69 matrix.d = matrix; | |
70 assert_equals(matrix.d, NaN); | |
71 matrix.d = 0; | |
72 assert_equals(matrix.d, 0); | |
73 matrix.d = svgElement; | |
74 assert_equals(matrix.d, NaN); | |
75 matrix.d = 0; | |
76 assert_equals(matrix.d, 0); | |
77 matrix.d = 'aString'; | |
78 assert_equals(matrix.d, NaN); | |
79 // Reset to previous value. | |
80 matrix.d = 1; | |
81 assert_equals(matrix.d, 1); | |
82 | |
83 matrix.e = matrix; | |
84 assert_equals(matrix.e, NaN); | |
85 matrix.e = 0; | |
86 assert_equals(matrix.e, 0); | |
87 matrix.e = svgElement; | |
88 assert_equals(matrix.e, NaN); | |
89 matrix.e = 0; | |
90 assert_equals(matrix.e, 0); | |
91 matrix.e = 'aString'; | |
92 assert_equals(matrix.e, NaN); | |
93 // Reset to previous value. | |
94 matrix.e = 0; | |
95 assert_equals(matrix.e, 0); | |
96 | |
97 matrix.f = matrix; | |
98 assert_equals(matrix.f, NaN); | |
99 matrix.f = 0; | |
100 assert_equals(matrix.f, 0); | |
101 matrix.f = svgElement; | |
102 assert_equals(matrix.f, NaN); | |
103 matrix.f = 0; | |
104 assert_equals(matrix.f, 0); | |
105 matrix.f = 'aString'; | |
106 assert_equals(matrix.f, NaN); | |
107 // Reset to previous value. | |
108 matrix.f = 200; | |
109 assert_equals(matrix.f, 200); | |
110 | |
111 // Check that the matrix is still containing the correct values. | |
112 assert_equals(matrix.a, 2); | |
113 assert_equals(matrix.b, 0); | |
114 assert_equals(matrix.c, 0); | |
115 assert_equals(matrix.d, 1); | |
116 assert_equals(matrix.e, 0); | |
117 assert_equals(matrix.f, 200); | |
118 | |
119 // Check assigning null works as expected. | |
120 matrix.f = null; | |
121 assert_equals(matrix.a, 2); | |
122 assert_equals(matrix.b, 0); | |
123 assert_equals(matrix.c, 0); | |
124 assert_equals(matrix.d, 1); | |
125 assert_equals(matrix.e, 0); | |
126 assert_equals(matrix.f, 0); | |
127 | |
128 // Check calling 'multiply' with invalid arguments. | |
129 assert_throws(new TypeError(), function() { matrix.multiply(); }); | |
130 assert_throws(new TypeError(), function() { matrix.multiply(true); }); | |
131 assert_throws(new TypeError(), function() { matrix.multiply(2); }); | |
132 assert_throws(new TypeError(), function() { matrix.multiply('aString'); }); | |
133 assert_throws(new TypeError(), function() { matrix.multiply(svgElement); }); | |
134 | |
135 // Check calling 'translate' with invalid arguments. | |
136 assert_throws(new TypeError(), function() { matrix.translate(); }); | |
137 assert_throws(new TypeError(), function() { matrix.translate(true); }); | |
138 assert_throws(new TypeError(), function() { matrix.translate(2); }); | |
139 assert_throws(new TypeError(), function() { matrix.translate('aString'); }); | |
140 assert_throws(new TypeError(), function() { matrix.translate(svgElement); }); | |
141 // The following string and object arguments convert to NaN | |
142 // per ECMA-262, 9.3, "ToNumber". | |
143 assert_not_equals(matrix.translate('aString', 'aString'), null); | |
144 assert_not_equals(matrix.translate(svgElement, svgElement), null); | |
145 assert_not_equals(matrix.translate(2, 'aString'), null); | |
146 assert_not_equals(matrix.translate(2, svgElement), null); | |
147 assert_not_equals(matrix.translate('aString', 2), null); | |
148 assert_not_equals(matrix.translate(svgElement, 2), null); | |
149 | |
150 // Check calling 'scale' with invalid arguments. | |
151 assert_throws(new TypeError(), function() { matrix.scale(); }); | |
152 assert_not_equals(matrix.scale('aString'), null); | |
153 assert_not_equals(matrix.scale(svgElement), null); | |
154 | |
155 | |
156 // Check calling 'scaleNonUniform' with invalid arguments. | |
157 assert_throws(new TypeError(), function() { matrix.scaleNonUniform(); }); | |
158 assert_throws(new TypeError(), function() { matrix.scaleNonUniform(true); }); | |
159 assert_throws(new TypeError(), function() { matrix.scaleNonUniform(2); }); | |
160 assert_throws(new TypeError(), function() { matrix.scaleNonUniform('aString'); }); | |
161 assert_throws(new TypeError(), function() { matrix.scaleNonUniform(svgElement) ; }); | |
162 assert_not_equals(matrix.scaleNonUniform('aString', 'aString'), null); | |
163 assert_not_equals(matrix.scaleNonUniform(svgElement, svgElement), null); | |
164 assert_not_equals(matrix.scaleNonUniform(2, 'aString'), null); | |
165 assert_not_equals(matrix.scaleNonUniform(2, svgElement), null); | |
166 assert_not_equals(matrix.scaleNonUniform('aString', 2), null); | |
167 assert_not_equals(matrix.scaleNonUniform(svgElement, 2), null); | |
168 | |
169 // Check calling 'rotate' with invalid arguments. | |
170 assert_throws(new TypeError(), function() { matrix.rotate(); }); | |
171 assert_not_equals(matrix.rotate('aString'), null); | |
172 assert_not_equals(matrix.rotate(svgElement), null); | |
173 | |
174 // Check calling 'rotateFromVector' with invalid arguments. | |
175 assert_throws(new TypeError(), function() { matrix.rotateFromVector(); }); | |
176 assert_throws(new TypeError(), function() { matrix.rotateFromVector(true); }); | |
177 assert_throws(new TypeError(), function() { matrix.rotateFromVector(2); }); | |
178 assert_throws(new TypeError(), function() { matrix.rotateFromVector('aString') ; }); | |
179 assert_throws(new TypeError(), function() { matrix.rotateFromVector(svgElement ); }); | |
180 assert_not_equals(matrix.rotateFromVector('aString', 'aString'), null); | |
181 assert_not_equals(matrix.rotateFromVector(svgElement, svgElement), null); | |
182 assert_not_equals(matrix.rotateFromVector(2, 'aString'), null); | |
183 assert_not_equals(matrix.rotateFromVector(2, svgElement), null); | |
184 assert_not_equals(matrix.rotateFromVector('aString', 2), null); | |
185 assert_not_equals(matrix.rotateFromVector(svgElement, 2), null); | |
186 | |
187 // Check calling 'skewX' with invalid arguments. | |
188 assert_throws(new TypeError(), function() { matrix.skewX(); }); | |
189 assert_not_equals(matrix.skewX('aString'), null); | |
190 assert_not_equals(matrix.skewX(svgElement), null); | |
191 | |
192 // Check calling 'skewY' with invalid arguments; | |
193 assert_throws(new TypeError(), function() { matrix.skewY(); }); | |
194 assert_not_equals(matrix.skewY('aString'), null); | |
195 assert_not_equals(matrix.skewY(svgElement), null); | |
196 }); | |
197 </script> | |
OLD | NEW |