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

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

Issue 2516973002: [GeometryInferface] add Constructor(DOMString transformList). (Closed)
Patch Set: [GeometryInferface] add Constructor(DOMString transformList). Created 4 years 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 <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
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
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698