Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(686)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix.html

Issue 2283363003: GeometryInterface: Add DOMMatrixInit and fromMatrix(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 </head> 8 </head>
8 <body> 9 <body>
9 <script> 10 <script>
10 11
11 test(function() { 12 test(() => {
12 var matrix = new DOMMatrix(); 13 var matrix = new DOMMatrix();
13 assert_equals(matrix.m11, 1); 14 assert_equals(matrix.m11, 1);
14 assert_equals(matrix.m12, 0); 15 assert_equals(matrix.m12, 0);
15 assert_equals(matrix.m13, 0); 16 assert_equals(matrix.m13, 0);
16 assert_equals(matrix.m14, 0); 17 assert_equals(matrix.m14, 0);
17 assert_equals(matrix.m21, 0); 18 assert_equals(matrix.m21, 0);
18 assert_equals(matrix.m22, 1); 19 assert_equals(matrix.m22, 1);
19 assert_equals(matrix.m23, 0); 20 assert_equals(matrix.m23, 0);
20 assert_equals(matrix.m24, 0); 21 assert_equals(matrix.m24, 0);
21 assert_equals(matrix.m31, 0); 22 assert_equals(matrix.m31, 0);
22 assert_equals(matrix.m32, 0); 23 assert_equals(matrix.m32, 0);
23 assert_equals(matrix.m33, 1); 24 assert_equals(matrix.m33, 1);
24 assert_equals(matrix.m34, 0); 25 assert_equals(matrix.m34, 0);
25 assert_equals(matrix.m41, 0); 26 assert_equals(matrix.m41, 0);
26 assert_equals(matrix.m42, 0); 27 assert_equals(matrix.m42, 0);
27 assert_equals(matrix.m43, 0); 28 assert_equals(matrix.m43, 0);
28 assert_equals(matrix.m44, 1); 29 assert_equals(matrix.m44, 1);
29 assert_true(matrix.is2D); 30 assert_true(matrix.is2D);
30 assert_true(matrix.isIdentity); 31 assert_true(matrix.isIdentity);
31 }, "DOMMatrix() constructor"); 32 }, "DOMMatrix() constructor");
32 33
33 test(function() { 34 test(() => {
34 var other = new DOMMatrix(); 35 var other = new DOMMatrix();
35 other.m11 = 10; 36 other.m11 = 10;
36 other.m12 = 20; 37 other.m12 = 20;
37 other.m24 = 2; 38 other.m24 = 2;
38 other.m33 = 3; 39 other.m33 = 3;
39 other.m42 = 3; 40 other.m42 = 3;
40 other.m44 = 9; 41 other.m44 = 9;
41 42
42 var matrix = new DOMMatrix(other); 43 var matrix = new DOMMatrix(other);
43 assert_equals(matrix.m11, 10); 44 assert_equals(matrix.m11, 10);
44 assert_equals(matrix.m12, 20); 45 assert_equals(matrix.m12, 20);
45 assert_equals(matrix.m13, 0); 46 assert_equals(matrix.m13, 0);
46 assert_equals(matrix.m14, 0); 47 assert_equals(matrix.m14, 0);
47 assert_equals(matrix.m21, 0); 48 assert_equals(matrix.m21, 0);
48 assert_equals(matrix.m22, 1); 49 assert_equals(matrix.m22, 1);
49 assert_equals(matrix.m23, 0); 50 assert_equals(matrix.m23, 0);
50 assert_equals(matrix.m24, 2); 51 assert_equals(matrix.m24, 2);
51 assert_equals(matrix.m31, 0); 52 assert_equals(matrix.m31, 0);
52 assert_equals(matrix.m32, 0); 53 assert_equals(matrix.m32, 0);
53 assert_equals(matrix.m33, 3); 54 assert_equals(matrix.m33, 3);
54 assert_equals(matrix.m34, 0); 55 assert_equals(matrix.m34, 0);
55 assert_equals(matrix.m41, 0); 56 assert_equals(matrix.m41, 0);
56 assert_equals(matrix.m42, 3); 57 assert_equals(matrix.m42, 3);
57 assert_equals(matrix.m43, 0); 58 assert_equals(matrix.m43, 0);
58 assert_equals(matrix.m44, 9); 59 assert_equals(matrix.m44, 9);
59 assert_false(matrix.is2D); 60 assert_false(matrix.is2D);
60 assert_false(matrix.isIdentity); 61 assert_false(matrix.isIdentity);
61 }, "DOMMatrix(other) constructor"); 62 }, "DOMMatrix(other) constructor");
62 63
63 test(function() { 64 test(() => {
64 var matrix = new DOMMatrix(); 65 var matrix = new DOMMatrix();
65 matrix.a = 10; 66 matrix.a = 10;
66 matrix.b = 20; 67 matrix.b = 20;
67 matrix.m24 = 2; 68 matrix.m24 = 2;
68 matrix.m33 = 3; 69 matrix.m33 = 3;
69 matrix.m42 = 3; 70 matrix.m42 = 3;
70 matrix.m44 = 9; 71 matrix.m44 = 9;
71 assert_equals(matrix.a, matrix.m11); 72 assert_equals(matrix.a, matrix.m11);
72 assert_equals(matrix.b, matrix.m12); 73 assert_equals(matrix.b, matrix.m12);
73 assert_equals(matrix.c, matrix.m21); 74 assert_equals(matrix.c, matrix.m21);
(...skipping 13 matching lines...) Expand all
87 assert_equals(matrix.m33, 3); 88 assert_equals(matrix.m33, 3);
88 assert_equals(matrix.m34, 0); 89 assert_equals(matrix.m34, 0);
89 assert_equals(matrix.m41, 0); 90 assert_equals(matrix.m41, 0);
90 assert_equals(matrix.m42, 3); 91 assert_equals(matrix.m42, 3);
91 assert_equals(matrix.m43, 0); 92 assert_equals(matrix.m43, 0);
92 assert_equals(matrix.m44, 9); 93 assert_equals(matrix.m44, 9);
93 assert_false(matrix.is2D); 94 assert_false(matrix.is2D);
94 assert_false(matrix.isIdentity); 95 assert_false(matrix.isIdentity);
95 }, "DOMMatrix attributes"); 96 }, "DOMMatrix attributes");
96 97
97 test(function() { 98 test(() => {
98 var matrix = new DOMMatrix(); 99 var matrix = new DOMMatrix();
99 assert_true(matrix.is2D); 100 assert_true(matrix.is2D);
100 assert_true(matrix.isIdentity); 101 assert_true(matrix.isIdentity);
101 matrix.m31 = 1; 102 matrix.m31 = 1;
102 matrix.m33 = 0; 103 matrix.m33 = 0;
103 assert_false(matrix.is2D); 104 assert_false(matrix.is2D);
104 assert_false(matrix.isIdentity); 105 assert_false(matrix.isIdentity);
105 matrix.m31 = 0; 106 matrix.m31 = 0;
106 matrix.m33 = 1; 107 matrix.m33 = 1;
107 assert_false(matrix.is2D); 108 assert_false(matrix.is2D);
108 assert_true(matrix.isIdentity); 109 assert_true(matrix.isIdentity);
109 }, "DOMMatrix.is2D can never be set to 'true' when it was set to 'false' before calling setMatrixValue()."); 110 }, "DOMMatrix.is2D can never be set to 'true' when it was set to 'false' before calling setMatrixValue().");
110 111
112 test(() => {
113 assert_identity_2d_matrix(DOMMatrix.fromMatrix());
114 }, "DOMMatrix.fromMatrix() with no parameter.");
115
116 test(() => {
117 assert_identity_2d_matrix(DOMMatrix.fromMatrix(null));
118 }, "DOMMatrix.fromMatrix() with null.");
119
120 test(() => {
121 assert_identity_2d_matrix(DOMMatrix.fromMatrix(undefined));
122 }, "DOMMatrix.fromMatrix() with undefined.");
123
124 test(() => {
125 assert_identity_2d_matrix(DOMMatrix.fromMatrix({}));
126 }, "DOMMatrix.fromMatrix() with empty object.");
127
128 test(() => {
129 var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, c: 3, d: 4, e: 5, f: 6});
130 assert_2d_matrix_equals(matrix, {
131 m11: 1, m12: 2,
132 m21: 3, m22: 4,
133 m41: 5, m42: 6,
134 isIdentity: false
135 });
136 }, "DOMMatrix.fromMatrix({a: 1, b: 2, c: 3, d: 4, e: 5, f: 6}) should create a 2 D DOMMatrix.");
137
138 test(() => {
139 var matrix = DOMMatrix.fromMatrix({m11: 1, m22: 2, m33: 3, m44: 4, m23: 5, m43 : 6});
140 assert_3d_matrix_equals(matrix, {
141 m11: 1, m12: 0, m13: 0, m14: 0,
142 m21: 0, m22: 2, m23: 5, m24: 0,
143 m31: 0, m32: 0, m33: 3, m34: 0,
144 m41: 0, m42: 0, m43: 6, m44: 4,
145 isIdentity: false
146 });
147 }, "DOMMatrix.fromMatrix({m11: 1, m22: 2, m33: 3, m44: 4, m23: 5, m43: 6}) shoul d create a 3D DOMMatrix.");
148
149 test(() => {
150 var matrix = DOMMatrix.fromMatrix({a: 7, c: 9});
151 assert_2d_matrix_equals(matrix, {
152 m11: 7, m12: 0,
153 m21: 9, m22: 1,
154 m41: 0, m42: 0,
155 isIdentity: false
156 });
157 }, "If 2d related properties don't be set, should set to fallback.");
158
159 test(() => {
160 var matrix = DOMMatrix.fromMatrix({
161 m11: NaN, m12: NaN, m13: NaN, m14: NaN,
162 m21: NaN, m22: NaN, m23: NaN, m24: NaN,
163 m31: NaN, m32: NaN, m33: NaN, m34: NaN,
164 m41: NaN, m42: NaN, m43: NaN, m44: NaN,
165 is2D: false
166 });
167 assert_equals(matrix.a, matrix.m11);
168 assert_equals(matrix.b, matrix.m12);
169 assert_equals(matrix.c, matrix.m21);
170 assert_equals(matrix.d, matrix.m22);
171 assert_equals(matrix.e, matrix.m41);
172 assert_equals(matrix.f, matrix.m42);
173 assert_3d_matrix_equals(matrix, {
174 m11: NaN, m12: NaN, m13: NaN, m14: NaN,
175 m21: NaN, m22: NaN, m23: NaN, m24: NaN,
176 m31: NaN, m32: NaN, m33: NaN, m34: NaN,
177 m41: NaN, m42: NaN, m43: NaN, m44: NaN,
178 isIdentity: false, is2D: false
179 });
180 }, "DOMMatrix.fromMatrix(): NaN test");
181
182 test(() => {
183 assert_throws(new TypeError(), () => {
184 var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m33: 3, m44: 4, is2D: tru e});
185 }, "The 'is2D' property is set to true but the input matrix is 3d matrix." );
186 assert_throws(new TypeError(), () => {
187 var matrix = DOMMatrix.fromMatrix({a: 1, b: 2, m11: 3});
188 }, "The 'a' property should equal the 'm11' property.");
189 }, "DOMMatrix.fromMatrix(): Exception test.");
190
111 </script> 191 </script>
112 </body> 192 </body>
113 </html> 193 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698