OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <title>Geometry Interfaces: DOMMatrix scale</title> | 4 <title>Geometry Interfaces: DOMMatrix scale</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 </head> | 7 </head> |
8 <body> | 8 <body> |
9 <script> | 9 <script> |
10 | 10 |
11 test(function() { | 11 test(function() { |
12 var matrix = new DOMMatrix(); | 12 var matrix = new DOMMatrix(); |
13 matrix.a = 1; | 13 matrix.a = 1; |
14 matrix.b = 2; | 14 matrix.b = 2; |
15 matrix.c = 3; | 15 matrix.c = 3; |
16 matrix.d = 4; | 16 matrix.d = 4; |
17 matrix.e = 5; | 17 matrix.e = 5; |
18 matrix.f = 6; | 18 matrix.f = 6; |
19 assert_true(matrix.is2D); | 19 assert_true(matrix.is2D); |
20 var result = matrix.skewX(32); | 20 var result = matrix.flipX() |
21 var expected = new DOMMatrix(); | 21 var expected = new DOMMatrix(matrix); |
22 expected.m21 = Math.tan(Math.PI / 180 * 32); | 22 expected.scaleNonUniformSelf(-1.0); |
23 expected.preMultiplySelf(matrix); | |
24 assert_true(matrix.is2D); | 23 assert_true(matrix.is2D); |
25 assert_false(matrix.isIdentity); | 24 assert_false(matrix.isIdentity); |
26 assert_array_equals(matrix.toFloat64Array(), [ 1, 2, 0, 0, 3, 4, 0, 0, 0, 0, 1
, 0, 5, 6, 0, 1 ]); | 25 assert_array_equals(matrix.toFloat64Array(), [ 1, 2, 0, 0, 3, 4, 0, 0, 0, 0, 1
, 0, 5, 6, 0, 1 ]); |
27 assert_array_equals(result.toFloat64Array(), expected.toFloat64Array()); | 26 assert_array_equals(result.toFloat64Array(), expected.toFloat64Array()); |
28 matrix.skewXSelf(32); | 27 }, "DOMMatrix.flipX() for 2D Matrix"); |
29 assert_array_equals(matrix.toFloat64Array(), expected.toFloat64Array()); | |
30 }, "DOMMatrix.skewX(sx) and DOMMatrix.skewXSelf(sx) for 2D Matrix"); | |
31 | 28 |
32 test(function() { | 29 test(function() { |
33 var matrix = new DOMMatrix(); | 30 var matrix = new DOMMatrix(); |
34 matrix.a = 1; | 31 matrix.a = 1; |
35 matrix.b = 2; | 32 matrix.b = 2; |
36 matrix.c = 3; | 33 matrix.c = 3; |
37 matrix.d = 4; | 34 matrix.d = 4; |
38 matrix.e = 5; | 35 matrix.e = 5; |
39 matrix.f = 6; | 36 matrix.f = 6; |
40 assert_true(matrix.is2D); | 37 assert_true(matrix.is2D); |
41 var result = matrix.skewY(25); | 38 var result = matrix.flipY() |
42 var expected = new DOMMatrix(); | 39 var expected = new DOMMatrix(matrix); |
43 expected.m12 = Math.tan(Math.PI / 180 * 25); | 40 expected.scaleNonUniformSelf(1.0, -1.0); |
44 expected.preMultiplySelf(matrix); | |
45 assert_true(matrix.is2D); | 41 assert_true(matrix.is2D); |
46 assert_false(matrix.isIdentity); | 42 assert_false(matrix.isIdentity); |
47 assert_array_equals(matrix.toFloat64Array(), [ 1, 2, 0, 0, 3, 4, 0, 0, 0, 0, 1
, 0, 5, 6, 0, 1 ]); | 43 assert_array_equals(matrix.toFloat64Array(), [ 1, 2, 0, 0, 3, 4, 0, 0, 0, 0, 1
, 0, 5, 6, 0, 1 ]); |
48 assert_array_equals(result.toFloat64Array(), expected.toFloat64Array()); | 44 assert_array_equals(result.toFloat64Array(), expected.toFloat64Array()); |
49 matrix.skewYSelf(25); | 45 }, "DOMMatrix.flipY() for 2D Matrix"); |
50 assert_array_equals(matrix.toFloat64Array(), expected.toFloat64Array()); | |
51 }, "DOMMatrix.skewY(sy) and DOMMatrix.skewYSelf(sy) for 2D Matrix"); | |
52 | 46 |
53 test(function() { | 47 test(function() { |
54 var matrix = new DOMMatrix(); | 48 var matrix = new DOMMatrix(); |
55 matrix.m11 = 1; | 49 matrix.m11 = 1; |
56 matrix.m12 = 2; | 50 matrix.m12 = 2; |
57 matrix.m13 = 3; | 51 matrix.m13 = 3; |
58 matrix.m14 = 4; | 52 matrix.m14 = 4; |
59 matrix.m21 = 5; | 53 matrix.m21 = 5; |
60 matrix.m22 = 6; | 54 matrix.m22 = 6; |
61 matrix.m23 = 7; | 55 matrix.m23 = 7; |
62 matrix.m24 = 8; | 56 matrix.m24 = 8; |
63 matrix.m31 = 9; | 57 matrix.m31 = 9; |
64 matrix.m32 = 10; | 58 matrix.m32 = 10; |
65 matrix.m33 = 11; | 59 matrix.m33 = 11; |
66 matrix.m34 = 12; | 60 matrix.m34 = 12; |
67 matrix.m41 = 13; | 61 matrix.m41 = 13; |
68 matrix.m42 = 14; | 62 matrix.m42 = 14; |
69 matrix.m43 = 15; | 63 matrix.m43 = 15; |
70 matrix.m44 = 16; | 64 matrix.m44 = 16; |
71 assert_false(matrix.is2D); | 65 assert_false(matrix.is2D); |
72 var result = matrix.skewX(32); | 66 var result = matrix.flipX() |
73 var expected = new DOMMatrix(); | 67 var expected = new DOMMatrix(matrix); |
74 expected.m21 = Math.tan(Math.PI / 180 * 32); | 68 expected.scaleNonUniformSelf(-1.0); |
75 expected.preMultiplySelf(matrix); | |
76 assert_false(matrix.is2D); | 69 assert_false(matrix.is2D); |
77 assert_false(matrix.isIdentity); | 70 assert_false(matrix.isIdentity); |
78 assert_array_equals(matrix.toFloat64Array(), [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16 ]); | 71 assert_array_equals(matrix.toFloat64Array(), [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16 ]); |
79 assert_array_equals(result.toFloat64Array(), expected.toFloat64Array()); | 72 assert_array_equals(result.toFloat64Array(), expected.toFloat64Array()); |
80 matrix.skewXSelf(32); | 73 }, "DOMMatrix.flipX() for 3D Matrix"); |
81 assert_array_equals(matrix.toFloat64Array(), expected.toFloat64Array()); | |
82 }, "DOMMatrix.skewX(sx) and DOMMatrix.skewXSelf(sx) for 3D Matrix"); | |
83 | 74 |
84 test(function() { | 75 test(function() { |
85 var matrix = new DOMMatrix(); | 76 var matrix = new DOMMatrix(); |
86 matrix.m11 = 1; | 77 matrix.m11 = 1; |
87 matrix.m12 = 2; | 78 matrix.m12 = 2; |
88 matrix.m13 = 3; | 79 matrix.m13 = 3; |
89 matrix.m14 = 4; | 80 matrix.m14 = 4; |
90 matrix.m21 = 5; | 81 matrix.m21 = 5; |
91 matrix.m22 = 6; | 82 matrix.m22 = 6; |
92 matrix.m23 = 7; | 83 matrix.m23 = 7; |
93 matrix.m24 = 8; | 84 matrix.m24 = 8; |
94 matrix.m31 = 9; | 85 matrix.m31 = 9; |
95 matrix.m32 = 10; | 86 matrix.m32 = 10; |
96 matrix.m33 = 11; | 87 matrix.m33 = 11; |
97 matrix.m34 = 12; | 88 matrix.m34 = 12; |
98 matrix.m41 = 13; | 89 matrix.m41 = 13; |
99 matrix.m42 = 14; | 90 matrix.m42 = 14; |
100 matrix.m43 = 15; | 91 matrix.m43 = 15; |
101 matrix.m44 = 16; | 92 matrix.m44 = 16; |
102 assert_false(matrix.is2D); | 93 assert_false(matrix.is2D); |
103 var result = matrix.skewY(25); | 94 var result = matrix.flipY() |
104 var expected = new DOMMatrix(); | 95 var expected = new DOMMatrix(matrix); |
105 expected.m12 = Math.tan(Math.PI / 180 * 25); | 96 expected.scaleNonUniformSelf(1.0, -1.0); |
106 expected.preMultiplySelf(matrix); | |
107 assert_false(matrix.is2D); | 97 assert_false(matrix.is2D); |
108 assert_false(matrix.isIdentity); | 98 assert_false(matrix.isIdentity); |
109 assert_array_equals(matrix.toFloat64Array(), [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16 ]); | 99 assert_array_equals(matrix.toFloat64Array(), [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16 ]); |
110 assert_array_equals(result.toFloat64Array(), expected.toFloat64Array()); | 100 assert_array_equals(result.toFloat64Array(), expected.toFloat64Array()); |
111 matrix.skewYSelf(25); | 101 }, "DOMMatrix.flipY() for 3D Matrix"); |
112 assert_array_equals(matrix.toFloat64Array(), expected.toFloat64Array()); | |
113 }, "DOMMatrix.skewY(sy) and DOMMatrix.skewYSelf(sy) for 3D Matrix"); | |
114 | 102 |
115 </script> | 103 </script> |
116 </body> | 104 </body> |
117 </html> | 105 </html> |
OLD | NEW |