| 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 |