OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../../resources/testharness.js"></script> | 2 <script src="../../resources/testharness.js"></script> |
3 <script src="../../resources/testharnessreport.js"></script> | 3 <script src="../../resources/testharnessreport.js"></script> |
4 <script src="./resources/geometry-interfaces-test-helpers.js"></script> | 4 <script src="./resources/geometry-interfaces-test-helpers.js"></script> |
5 <script> | 5 <script> |
6 test(() => { | 6 test(() => { |
7 var matrix = new DOMMatrix(); | 7 var matrix = new DOMMatrix(); |
8 assert_identity_2d_matrix(matrix); | 8 assert_identity_2d_matrix(matrix); |
9 }, "DOMMatrix() constructor"); | 9 }, "DOMMatrix() constructor"); |
10 | 10 |
(...skipping 17 matching lines...) Expand all Loading... |
28 }, "DOMMatrix fromFloat32Array - 3D matrix"); | 28 }, "DOMMatrix fromFloat32Array - 3D matrix"); |
29 | 29 |
30 test(() => { | 30 test(() => { |
31 // 10.1 and 16.6 are not representable as a 32-bit float | 31 // 10.1 and 16.6 are not representable as a 32-bit float |
32 var float64Array = new Float64Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12,
13, 14, 15, 16.6]); | 32 var float64Array = new Float64Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12,
13, 14, 15, 16.6]); |
33 var matrix3d = DOMMatrix.fromFloat64Array(float64Array); | 33 var matrix3d = DOMMatrix.fromFloat64Array(float64Array); |
34 assert_3d_matrix_equals(matrix3d, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 13
, 14, 15, 16.6]); | 34 assert_3d_matrix_equals(matrix3d, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 13
, 14, 15, 16.6]); |
35 }, "DOMMatrix fromFloat64Array - 3D matrix"); | 35 }, "DOMMatrix fromFloat64Array - 3D matrix"); |
36 | 36 |
37 test(() => { | 37 test(() => { |
| 38 var matrix = new DOMMatrix(""); |
| 39 assert_identity_2d_matrix(matrix); |
| 40 }, "DOMMatrix(transformList) - emptyString"); |
| 41 |
| 42 test(() => { |
| 43 var matrix = new DOMMatrix("matrix(1.0, 2.0, 3.0, 4.0, 5.0, 6.0) translate(44p
x, 55px) skewX(30deg)"); |
| 44 var expectedMatrix = new DOMMatrix(); |
| 45 expectedMatrix.multiplySelf(new DOMMatrix([1.0, 2.0, 3.0, 4.0, 5.0, 6.0])) |
| 46 expectedMatrix.translateSelf(44, 55) |
| 47 expectedMatrix.skewXSelf(30); |
| 48 assert_matrix_almost_equals(matrix, expectedMatrix); |
| 49 }, "DOMMatrix(transformList) - transformList"); |
| 50 |
| 51 test(() => { |
38 var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); | 52 var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
39 assert_2d_matrix_equals(matrix, [1, 2, 3, 4, 5, 6]); | 53 assert_2d_matrix_equals(matrix, [1, 2, 3, 4, 5, 6]); |
40 }, "DOMMatrix(numberSequence) constructor"); | 54 }, "DOMMatrix(numberSequence) constructor"); |
41 | 55 |
42 test(() => { | 56 test(() => { |
43 var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16]); | 57 var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16]); |
44 assert_3d_matrix_equals(matrix, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
, 15, 16]); | 58 assert_3d_matrix_equals(matrix, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
, 15, 16]); |
45 }, "DOMMatrix(numberSequence) constructor"); | 59 }, "DOMMatrix(numberSequence) constructor"); |
46 | 60 |
47 test(() => { | 61 test(() => { |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 assert_object_equals(matrix3d.toJSON(), | 192 assert_object_equals(matrix3d.toJSON(), |
179 { a : 1, b : 2, c : 5, d : 6, e : 13, f : 14, | 193 { a : 1, b : 2, c : 5, d : 6, e : 13, f : 14, |
180 is2D : false, isIdentity : false, | 194 is2D : false, isIdentity : false, |
181 m11 : 1, m12 : 2, m13 : 3, m14 : 4, | 195 m11 : 1, m12 : 2, m13 : 3, m14 : 4, |
182 m21 : 5, m22 : 6, m23 : 7, m24 : 8, | 196 m21 : 5, m22 : 6, m23 : 7, m24 : 8, |
183 m31 : 9, m32 : 10.1, m33 : 11, m34 : 12, | 197 m31 : 9, m32 : 10.1, m33 : 11, m34 : 12, |
184 m41 : 13, m42 : 14, m43 : 15, m44 : 16.6}); | 198 m41 : 13, m42 : 14, m43 : 15, m44 : 16.6}); |
185 }, "DOMMatrix toJSON() - 3D matrix"); | 199 }, "DOMMatrix toJSON() - 3D matrix"); |
186 | 200 |
187 test(() => { | 201 test(() => { |
| 202 assert_throws(new SyntaxError(), () => { new DOMMatrix(1, 2, 3, 4, 5, 6); }, |
| 203 "DOMMatrix(transformList) can't parse unknown keyword - DOMMatrixReadOnly(1,
2, 3, 4, 5, 6) is same with DOMMatrixReadOnly('1')"); |
| 204 assert_throws(new SyntaxError(), () => { new DOMMatrix("myString"); }, |
| 205 "DOMMatrix(transformList) can't parse unknown keyword."); |
| 206 assert_throws(new SyntaxError(), () => { new DOMMatrix("initial");}, |
| 207 "CSS-wide keywords are disallowed."); |
| 208 assert_throws(new SyntaxError(), () => { new DOMMatrix("notExistFunction()");
}, |
| 209 "can't parse not exist function."); |
| 210 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateY(50%)"); }, |
| 211 "Must have an absolute unit."); |
| 212 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(1.2em)"); }
, |
| 213 "Must have an absolute unit."); |
| 214 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10ex)"); }, |
| 215 "Must have an absolute unit."); |
| 216 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10ch)"); }, |
| 217 "Must have an absolute unit."); |
| 218 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10rem)"); }
, |
| 219 "Must have an absolute unit."); |
| 220 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10vw)"); }, |
| 221 "Must have an absolute unit."); |
| 222 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10vh)"); }, |
| 223 "Must have an absolute unit."); |
| 224 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10vmin)");
}, |
| 225 "Must have an absolute unit."); |
| 226 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(10vmax)");
}, |
| 227 "Must have an absolute unit."); |
| 228 assert_throws(new SyntaxError(), () => { new DOMMatrix("translateX(calc(10px +
1em))"); }, |
| 229 "Must have an absolute unit."); |
188 assert_throws(new TypeError(), () => { | 230 assert_throws(new TypeError(), () => { |
189 var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m33: 3, m44: 4, is2D: true}); | 231 var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m33: 3, m44: 4, is2D: true}); |
190 }, "The 'is2D' property is set to true but the input matrix is 3d matrix."); | 232 }, "The 'is2D' property is set to true but the input matrix is 3d matrix."); |
191 assert_throws(new TypeError(), () => { | 233 assert_throws(new TypeError(), () => { |
192 var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m11: 3}); | 234 var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m11: 3}); |
193 }, "The 'a' property should equal the 'm11' property."); | 235 }, "The 'a' property should equal the 'm11' property."); |
194 }, "DOMMatrix.fromMatrix(): Exception test."); | 236 }, "DOMMatrix.fromMatrix(): Exception test."); |
| 237 |
195 </script> | 238 </script> |
OLD | NEW |