4 <title>Geometry Interfaces: DOMMatrix translate</title>
5 <script src="../../resources/testharness.js"></script>
6 <script src="../../resources/testharnessreport.js"></script>
12 var matrix = new DOMMatrix();
13 assert_true(matrix.is2D);
14 assert_true(matrix.isIdentity);
15 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]);
16 var result = matrix.translate(2, 3);
17 assert_true(result.is2D);
18 assert_false(result.isIdentity);
19 assert_array_equals(result.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 3, 0, 1 ]);
20 assert_true(matrix.is2D);
21 assert_true(matrix.isIdentity);
22 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]);
23 }, "DOMMatrix.translate(tx, ty)");
26 var matrix = new DOMMatrix();
27 matrix.translateSelf(2, 3);
28 assert_true(matrix.is2D);
29 assert_false(matrix.isIdentity);
30 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 3, 0, 1 ]);
31 var result = matrix.translate(4, 2);
32 assert_true(result.is2D);
33 assert_false(result.isIdentity);
34 assert_array_equals(result.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6, 5, 0, 1 ]);
35 assert_true(matrix.is2D);
36 assert_false(matrix.isIdentity);
37 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 3, 0, 1 ]);
38 }, "DOMMatrix.translate(tx, ty) with non-identity");
41 var matrix = new DOMMatrix();
42 assert_true(matrix.is2D);
43 assert_true(matrix.isIdentity);
44 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]);
45 var result = matrix.translateSelf(4, 2);
46 assert_true(result.is2D);
47 assert_false(result.isIdentity);
48 assert_array_equals(result.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 2, 0, 1 ]);
49 assert_true(matrix.is2D);
50 assert_false(matrix.isIdentity);
51 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 2, 0, 1 ]);
52 }, "DOMMatrix.translateSelf(tx, ty)");
55 var matrix = new DOMMatrix();
56 assert_true(matrix.is2D);
57 assert_true(matrix.isIdentity);
58 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]);
59 var result = matrix.translate(2, 3, 4);
60 assert_false(result.is2D);
61 assert_false(result.isIdentity);
62 assert_array_equals(result.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 3, 4, 1 ]);
63 assert_true(matrix.is2D);
64 assert_true(matrix.isIdentity);
65 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]);
66 }, "DOMMatrix.translate(tx, ty, tz)");
69 var matrix = new DOMMatrix();
70 matrix.translateSelf(2, 3);
71 assert_true(matrix.is2D);
72 assert_false(matrix.isIdentity);
73 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 3, 0, 1 ]);
74 var result = matrix.translate(4, 2, 3);
75 assert_false(result.is2D);
76 assert_false(result.isIdentity);
77 assert_array_equals(result.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6, 5, 3, 1 ]);
78 assert_true(matrix.is2D);
79 assert_false(matrix.isIdentity);
80 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 3, 0, 1 ]);
81 }, "DOMMatrix.translate(tx, ty, tz) with non-identity");
84 var matrix = new DOMMatrix();
85 assert_true(matrix.is2D);
86 assert_true(matrix.isIdentity);
87 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 ]);
88 var result = matrix.translateSelf(4, 2, 3);
89 assert_false(result.is2D);
90 assert_false(result.isIdentity);
91 assert_array_equals(result.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 2, 3, 1 ]);
92 assert_false(matrix.is2D);
93 assert_false(matrix.isIdentity);
94 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4, 2, 3, 1 ]);
95 }, "DOMMatrix.translateSelf(tx, ty, tz)");
98 var matrix = new DOMMatrix();
99 assert_true(matrix.is2D);
100 assert_true(matrix.isIdentity);
105 assert_false(matrix.is2D);
106 assert_false(matrix.isIdentity);
107 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 2, 0, 1, 0, 3, 0, 0, 1, 4, 0, 0, 0, 7 ]);
108 matrix.translateSelf(7, -8, 2);
109 assert_false(matrix.is2D);
110 assert_false(matrix.isIdentity);
111 assert_array_equals(matrix.toFloat64Array(), [ 1, 0, 0, 2, 0, 1, 0, 3, 0, 0, 1, 4, 7, -8, 2, 5 ]);
112 }, "DOMMatrix.translateSelf(tx, ty, tz) Homogeneous Coordinates");