| OLD | NEW | 
|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> | 
| 2 <html> | 2 <html> | 
| 3 <head> | 3 <head> | 
| 4 <title>Geometry Interfaces: DOMMatrix</title> | 4 <title>Geometry Interfaces: DOMMatrix</title> | 
| 5 <script src="../../resources/testharness.js"></script> | 5 <script src="../../resources/testharness.js"></script> | 
| 6 <script src="../../resources/testharnessreport.js"></script> | 6 <script src="../../resources/testharnessreport.js"></script> | 
| 7 <script src="./resources/geometry-interfaces-test-helpers.js"></script> | 7 <script src="./resources/geometry-interfaces-test-helpers.js"></script> | 
| 8 </head> | 8 </head> | 
| 9 <body> | 9 <body> | 
| 10 <script> | 10 <script> | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 57   assert_equals(matrix.m42, 3); | 57   assert_equals(matrix.m42, 3); | 
| 58   assert_equals(matrix.m43, 0); | 58   assert_equals(matrix.m43, 0); | 
| 59   assert_equals(matrix.m44, 9); | 59   assert_equals(matrix.m44, 9); | 
| 60   assert_false(matrix.is2D); | 60   assert_false(matrix.is2D); | 
| 61   assert_false(matrix.isIdentity); | 61   assert_false(matrix.isIdentity); | 
| 62 }, "DOMMatrix(other) constructor"); | 62 }, "DOMMatrix(other) constructor"); | 
| 63 | 63 | 
| 64 test(() => { | 64 test(() => { | 
| 65   var float32Array = new Float32Array([1, 2, 3, 4, 5, 6]); | 65   var float32Array = new Float32Array([1, 2, 3, 4, 5, 6]); | 
| 66   var matrix2d = DOMMatrix.fromFloat32Array(float32Array); | 66   var matrix2d = DOMMatrix.fromFloat32Array(float32Array); | 
| 67   assert_true(matrix2d.is2D); | 67   assert_2d_matrix_equals(matrix2d, [1, 2, 3, 4, 5, 6]) | 
| 68   assert_equals(matrix2d.a, 1); |  | 
| 69   assert_equals(matrix2d.b, 2); |  | 
| 70   assert_equals(matrix2d.c, 3); |  | 
| 71   assert_equals(matrix2d.d, 4); |  | 
| 72   assert_equals(matrix2d.e, 5); |  | 
| 73   assert_equals(matrix2d.f, 6); |  | 
| 74 }, "DOMMatrix fromFloat32Array - 2D matrix"); | 68 }, "DOMMatrix fromFloat32Array - 2D matrix"); | 
| 75 | 69 | 
| 76 test(() => { | 70 test(() => { | 
| 77   // 3.1 is not representable as a 32-bit float | 71   // 3.1 is not representable as a 32-bit float | 
| 78   var float64Array = new Float64Array([1, 2, 3, 3.1, 4, 5]); | 72   var float64Array = new Float64Array([1, 2, 3, 3.1, 4, 5]); | 
| 79   var matrix2d = DOMMatrix.fromFloat64Array(float64Array); | 73   var matrix2d = DOMMatrix.fromFloat64Array(float64Array); | 
| 80   assert_true(matrix2d.is2D); | 74   assert_2d_matrix_equals(matrix2d, [1, 2, 3, 3.1, 4, 5]) | 
| 81   assert_equals(matrix2d.a, 1); |  | 
| 82   assert_equals(matrix2d.b, 2); |  | 
| 83   assert_equals(matrix2d.c, 3); |  | 
| 84   assert_equals(matrix2d.d, 3.1); |  | 
| 85   assert_equals(matrix2d.e, 4); |  | 
| 86   assert_equals(matrix2d.f, 5); |  | 
| 87 }, "DOMMatrix fromFloat64Array - 2D matrix"); | 75 }, "DOMMatrix fromFloat64Array - 2D matrix"); | 
| 88 | 76 | 
| 89 test(() => { | 77 test(() => { | 
| 90   var float32Array = new Float32Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
     , 14, 15, 16]); | 78   var float32Array = new Float32Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
     , 14, 15, 16]); | 
| 91   var matrix3d = DOMMatrix.fromFloat32Array(float32Array); | 79   var matrix3d = DOMMatrix.fromFloat32Array(float32Array); | 
| 92   assert_false(matrix3d.is2D); | 80   assert_3d_matrix_equals(matrix3d, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 
     14, 15, 16]) | 
| 93   assert_equals(matrix3d.m11, 1); |  | 
| 94   assert_equals(matrix3d.m12, 2); |  | 
| 95   assert_equals(matrix3d.m13, 3); |  | 
| 96   assert_equals(matrix3d.m14, 4); |  | 
| 97   assert_equals(matrix3d.m21, 5); |  | 
| 98   assert_equals(matrix3d.m22, 6); |  | 
| 99   assert_equals(matrix3d.m23, 7); |  | 
| 100   assert_equals(matrix3d.m24, 8); |  | 
| 101   assert_equals(matrix3d.m31, 9); |  | 
| 102   assert_equals(matrix3d.m32, 10); |  | 
| 103   assert_equals(matrix3d.m33, 11); |  | 
| 104   assert_equals(matrix3d.m34, 12); |  | 
| 105   assert_equals(matrix3d.m41, 13); |  | 
| 106   assert_equals(matrix3d.m42, 14); |  | 
| 107   assert_equals(matrix3d.m43, 15); |  | 
| 108   assert_equals(matrix3d.m44, 16); |  | 
| 109 }, "DOMMatrix fromFloat32Array - 3D matrix"); | 81 }, "DOMMatrix fromFloat32Array - 3D matrix"); | 
| 110 | 82 | 
| 111 test(() => { | 83 test(() => { | 
| 112   // 10.1 and 16.6 are not representable as a 32-bit float | 84   // 10.1 and 16.6 are not representable as a 32-bit float | 
| 113   var float64Array = new Float64Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 
     13, 14, 15, 16.6]); | 85   var float64Array = new Float64Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 
     13, 14, 15, 16.6]); | 
| 114   var matrix3d = DOMMatrix.fromFloat64Array(float64Array); | 86   var matrix3d = DOMMatrix.fromFloat64Array(float64Array); | 
| 115   assert_false(matrix3d.is2D); | 87   assert_3d_matrix_equals(matrix3d, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 13
     , 14, 15, 16.6]) | 
| 116   assert_equals(matrix3d.m11, 1); |  | 
| 117   assert_equals(matrix3d.m12, 2); |  | 
| 118   assert_equals(matrix3d.m13, 3); |  | 
| 119   assert_equals(matrix3d.m14, 4); |  | 
| 120   assert_equals(matrix3d.m21, 5); |  | 
| 121   assert_equals(matrix3d.m22, 6); |  | 
| 122   assert_equals(matrix3d.m23, 7); |  | 
| 123   assert_equals(matrix3d.m24, 8); |  | 
| 124   assert_equals(matrix3d.m31, 9); |  | 
| 125   assert_equals(matrix3d.m32, 10.1); |  | 
| 126   assert_equals(matrix3d.m33, 11); |  | 
| 127   assert_equals(matrix3d.m34, 12); |  | 
| 128   assert_equals(matrix3d.m41, 13); |  | 
| 129   assert_equals(matrix3d.m42, 14); |  | 
| 130   assert_equals(matrix3d.m43, 15); |  | 
| 131   assert_equals(matrix3d.m44, 16.6); |  | 
| 132 }, "DOMMatrix fromFloat64Array - 3D matrix"); | 88 }, "DOMMatrix fromFloat64Array - 3D matrix"); | 
| 133 | 89 | 
| 134 test(() => { | 90 test(() => { | 
| 135   var matrix = new DOMMatrix(); | 91   var matrix = new DOMMatrix(); | 
| 136   matrix.a = 10; | 92   matrix.a = 10; | 
| 137   matrix.b = 20; | 93   matrix.b = 20; | 
| 138   matrix.m24 = 2; | 94   matrix.m24 = 2; | 
| 139   matrix.m33 = 3; | 95   matrix.m33 = 3; | 
| 140   matrix.m42 = 3; | 96   matrix.m42 = 3; | 
| 141   matrix.m44 = 9; | 97   matrix.m44 = 9; | 
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 230 | 186 | 
| 231 test(() => { | 187 test(() => { | 
| 232   assert_identity_2d_matrix(DOMMatrix.fromMatrix({})); | 188   assert_identity_2d_matrix(DOMMatrix.fromMatrix({})); | 
| 233 }, "DOMMatrix.fromMatrix() with empty object."); | 189 }, "DOMMatrix.fromMatrix() with empty object."); | 
| 234 | 190 | 
| 235 test(() => { | 191 test(() => { | 
| 236   var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, c: 3, d: 4, e: 5, f: 6}); | 192   var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, c: 3, d: 4, e: 5, f: 6}); | 
| 237   assert_2d_matrix_equals(matrix, { | 193   assert_2d_matrix_equals(matrix, { | 
| 238       m11: 1, m12: 2, | 194       m11: 1, m12: 2, | 
| 239       m21: 3, m22: 4, | 195       m21: 3, m22: 4, | 
| 240       m41: 5, m42: 6, | 196       m41: 5, m42: 6 | 
| 241       isIdentity: false |  | 
| 242   }); | 197   }); | 
| 243 }, "DOMMatrix.fromMatrix({a: 1, b: 2, c: 3, d: 4, e: 5, f: 6}) should create a 2
     D DOMMatrix."); | 198 }, "DOMMatrix.fromMatrix({a: 1, b: 2, c: 3, d: 4, e: 5, f: 6}) should create a 2
     D DOMMatrix."); | 
| 244 | 199 | 
| 245 test(() => { | 200 test(() => { | 
| 246   var matrix = DOMMatrix.fromMatrix({m11: 1, m22: 2, m33: 3, m44: 4, m23: 5, m43
     : 6}); | 201   var matrix = DOMMatrix.fromMatrix({m11: 1, m22: 2, m33: 3, m44: 4, m23: 5, m43
     : 6}); | 
| 247   assert_3d_matrix_equals(matrix, { | 202   assert_3d_matrix_equals(matrix, { | 
| 248       m11: 1, m12: 0, m13: 0, m14: 0, | 203       m11: 1, m12: 0, m13: 0, m14: 0, | 
| 249       m21: 0, m22: 2, m23: 5, m24: 0, | 204       m21: 0, m22: 2, m23: 5, m24: 0, | 
| 250       m31: 0, m32: 0, m33: 3, m34: 0, | 205       m31: 0, m32: 0, m33: 3, m34: 0, | 
| 251       m41: 0, m42: 0, m43: 6, m44: 4, | 206       m41: 0, m42: 0, m43: 6, m44: 4 | 
| 252       isIdentity: false |  | 
| 253   }); | 207   }); | 
| 254 }, "DOMMatrix.fromMatrix({m11: 1, m22: 2, m33: 3, m44: 4, m23: 5, m43: 6}) shoul
     d create a 3D DOMMatrix."); | 208 }, "DOMMatrix.fromMatrix({m11: 1, m22: 2, m33: 3, m44: 4, m23: 5, m43: 6}) shoul
     d create a 3D DOMMatrix."); | 
| 255 | 209 | 
| 256 test(() => { | 210 test(() => { | 
| 257   var matrix = DOMMatrix.fromMatrix({a: 7, c: 9}); | 211   var matrix = DOMMatrix.fromMatrix({a: 7, c: 9}); | 
| 258   assert_2d_matrix_equals(matrix, { | 212   assert_2d_matrix_equals(matrix, { | 
| 259       m11: 7, m12: 0, | 213       m11: 7, m12: 0, | 
| 260       m21: 9, m22: 1, | 214       m21: 9, m22: 1, | 
| 261       m41: 0, m42: 0, | 215       m41: 0, m42: 0 | 
| 262       isIdentity: false |  | 
| 263   }); | 216   }); | 
| 264 }, "If 2d related properties don't be set, should set to fallback."); | 217 }, "If 2d related properties don't be set, should set to fallback."); | 
| 265 | 218 | 
| 266 test(() => { | 219 test(() => { | 
| 267   var matrix = DOMMatrix.fromMatrix({ | 220   var matrix = DOMMatrix.fromMatrix({ | 
| 268       m11: NaN, m12: NaN, m13: NaN, m14: NaN, | 221       m11: NaN, m12: NaN, m13: NaN, m14: NaN, | 
| 269       m21: NaN, m22: NaN, m23: NaN, m24: NaN, | 222       m21: NaN, m22: NaN, m23: NaN, m24: NaN, | 
| 270       m31: NaN, m32: NaN, m33: NaN, m34: NaN, | 223       m31: NaN, m32: NaN, m33: NaN, m34: NaN, | 
| 271       m41: NaN, m42: NaN, m43: NaN, m44: NaN, | 224       m41: NaN, m42: NaN, m43: NaN, m44: NaN, | 
| 272       is2D: false | 225       is2D: false | 
| 273   }); | 226   }); | 
| 274   assert_equals(matrix.a, matrix.m11); | 227   assert_equals(matrix.a, matrix.m11); | 
| 275   assert_equals(matrix.b, matrix.m12); | 228   assert_equals(matrix.b, matrix.m12); | 
| 276   assert_equals(matrix.c, matrix.m21); | 229   assert_equals(matrix.c, matrix.m21); | 
| 277   assert_equals(matrix.d, matrix.m22); | 230   assert_equals(matrix.d, matrix.m22); | 
| 278   assert_equals(matrix.e, matrix.m41); | 231   assert_equals(matrix.e, matrix.m41); | 
| 279   assert_equals(matrix.f, matrix.m42); | 232   assert_equals(matrix.f, matrix.m42); | 
| 280   assert_3d_matrix_equals(matrix, { | 233   assert_3d_matrix_equals(matrix, { | 
| 281       m11: NaN, m12: NaN, m13: NaN, m14: NaN, | 234       m11: NaN, m12: NaN, m13: NaN, m14: NaN, | 
| 282       m21: NaN, m22: NaN, m23: NaN, m24: NaN, | 235       m21: NaN, m22: NaN, m23: NaN, m24: NaN, | 
| 283       m31: NaN, m32: NaN, m33: NaN, m34: NaN, | 236       m31: NaN, m32: NaN, m33: NaN, m34: NaN, | 
| 284       m41: NaN, m42: NaN, m43: NaN, m44: NaN, | 237       m41: NaN, m42: NaN, m43: NaN, m44: NaN | 
| 285       isIdentity: false, is2D: false |  | 
| 286   }); | 238   }); | 
| 287 }, "DOMMatrix.fromMatrix(): NaN test"); | 239 }, "DOMMatrix.fromMatrix(): NaN test"); | 
| 288 | 240 | 
| 289 test(() => { | 241 test(() => { | 
| 290   assert_throws(new TypeError(), () => { | 242   assert_throws(new TypeError(), () => { | 
| 291         var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m33: 3, m44: 4, is2D: tru
     e}); | 243         var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m33: 3, m44: 4, is2D: tru
     e}); | 
| 292       }, "The 'is2D' property is set to true but the input matrix is 3d matrix."
     ); | 244       }, "The 'is2D' property is set to true but the input matrix is 3d matrix."
     ); | 
| 293   assert_throws(new TypeError(), () => { | 245   assert_throws(new TypeError(), () => { | 
| 294         var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m11: 3}); | 246         var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m11: 3}); | 
| 295       }, "The 'a' property should equal the 'm11' property."); | 247       }, "The 'a' property should equal the 'm11' property."); | 
| 296 }, "DOMMatrix.fromMatrix(): Exception test."); | 248 }, "DOMMatrix.fromMatrix(): Exception test."); | 
| 297 | 249 | 
| 298 </script> | 250 </script> | 
| 299 </body> | 251 </body> | 
| 300 </html> | 252 </html> | 
| OLD | NEW | 
|---|