| <!DOCTYPE HTML> |
| <html> |
| <head> |
| <title>Geometry Interfaces: DOMMatrix skew</title> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| |
| // TODO(hs1217.lee): create the DOMMatrix directly when the sequence constructor is supported. |
| function initMatrix(values) { |
| return new DOMMatrixReadOnly(values); |
| } |
| |
| test(function() { |
| var matrix2d = new DOMMatrix(initMatrix([1, 2, 3, 3.1, 2, 1])); |
| matrix2d.skewXSelf(); |
| assert_true(matrix2d.is2D); |
| assert_equals(matrix2d.a, 1); |
| assert_equals(matrix2d.b, 2); |
| assert_equals(matrix2d.c, 3); |
| assert_equals(matrix2d.d, 3.1); |
| assert_equals(matrix2d.e, 2); |
| assert_equals(matrix2d.f, 1); |
| }, "DOMMatrix skewX() - 2D matrix"); |
| |
| test(function() { |
| var matrix2d = new DOMMatrix(initMatrix([1, 2, 3, 3.1, 2, 1])); |
| matrix2d.skewXSelf(45); |
| assert_true(matrix2d.is2D); |
| assert_equals(matrix2d.a, 1); |
| assert_equals(matrix2d.b, 2); |
| assert_equals(matrix2d.c, 4); |
| assert_equals(matrix2d.d, 5.1); |
| assert_equals(matrix2d.e, 2); |
| assert_equals(matrix2d.f, 1); |
| }, "DOMMatrix skewX(45) - 2D matrix"); |
| |
| test(function() { |
| var matrix3d = new DOMMatrix(initMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 13, 14, 15, 16.6])); |
| matrix3d.skewXSelf(); |
| assert_false(matrix3d.is2D); |
| assert_equals(matrix3d.m11, 1); |
| assert_equals(matrix3d.m12, 2); |
| assert_equals(matrix3d.m13, 3); |
| assert_equals(matrix3d.m14, 4); |
| assert_equals(matrix3d.m21, 5); |
| assert_equals(matrix3d.m22, 6); |
| assert_equals(matrix3d.m23, 7); |
| assert_equals(matrix3d.m24, 8); |
| assert_equals(matrix3d.m31, 9); |
| assert_equals(matrix3d.m32, 10.1); |
| assert_equals(matrix3d.m33, 11); |
| assert_equals(matrix3d.m34, 12); |
| assert_equals(matrix3d.m41, 13); |
| assert_equals(matrix3d.m42, 14); |
| assert_equals(matrix3d.m43, 15); |
| assert_equals(matrix3d.m44, 16.6); |
| }, "DOMMatrix skewX() - 3D matrix"); |
| |
| test(function() { |
| var matrix3d = new DOMMatrix(initMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 13, 14, 15, 16.6])); |
| matrix3d.skewXSelf(45); |
| assert_false(matrix3d.is2D); |
| assert_equals(matrix3d.m11, 1); |
| assert_equals(matrix3d.m12, 2); |
| assert_equals(matrix3d.m13, 3); |
| assert_equals(matrix3d.m14, 4); |
| assert_equals(matrix3d.m21, 6); |
| assert_equals(matrix3d.m22, 8); |
| assert_equals(matrix3d.m23, 10); |
| assert_equals(matrix3d.m24, 12); |
| assert_equals(matrix3d.m31, 9); |
| assert_equals(matrix3d.m32, 10.1); |
| assert_equals(matrix3d.m33, 11); |
| assert_equals(matrix3d.m34, 12); |
| assert_equals(matrix3d.m41, 13); |
| assert_equals(matrix3d.m42, 14); |
| assert_equals(matrix3d.m43, 15); |
| assert_equals(matrix3d.m44, 16.6); |
| }, "DOMMatrix skewX(45) - 3D matrix"); |
| |
| test(function() { |
| var matrix2d = new DOMMatrix(initMatrix([1, 2, 3, 3.1, 2, 1])); |
| matrix2d.skewYSelf(); |
| assert_true(matrix2d.is2D); |
| assert_equals(matrix2d.a, 1); |
| assert_equals(matrix2d.b, 2); |
| assert_equals(matrix2d.c, 3); |
| assert_equals(matrix2d.d, 3.1); |
| assert_equals(matrix2d.e, 2); |
| assert_equals(matrix2d.f, 1); |
| }, "DOMMatrix skewY() - 2D matrix"); |
| |
| test(function() { |
| var matrix2d = new DOMMatrix(initMatrix([2, 2, 2, 2, 2, 2])); |
| matrix2d.skewYSelf(45); |
| assert_true(matrix2d.is2D); |
| assert_equals(matrix2d.a, 4); |
| assert_equals(matrix2d.b, 4); |
| assert_equals(matrix2d.c, 2); |
| assert_equals(matrix2d.d, 2); |
| assert_equals(matrix2d.e, 2); |
| assert_equals(matrix2d.f, 2); |
| }, "DOMMatrix skewY(45) - 2D matrix"); |
| |
| test(function() { |
| var matrix3d = new DOMMatrix(initMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 11, 12, 13, 14, 15, 16.6])); |
| matrix3d.skewYSelf(); |
| assert_false(matrix3d.is2D); |
| assert_equals(matrix3d.m11, 1); |
| assert_equals(matrix3d.m12, 2); |
| assert_equals(matrix3d.m13, 3); |
| assert_equals(matrix3d.m14, 4); |
| assert_equals(matrix3d.m21, 5); |
| assert_equals(matrix3d.m22, 6); |
| assert_equals(matrix3d.m23, 7); |
| assert_equals(matrix3d.m24, 8); |
| assert_equals(matrix3d.m31, 9); |
| assert_equals(matrix3d.m32, 10.1); |
| assert_equals(matrix3d.m33, 11); |
| assert_equals(matrix3d.m34, 12); |
| assert_equals(matrix3d.m41, 13); |
| assert_equals(matrix3d.m42, 14); |
| assert_equals(matrix3d.m43, 15); |
| assert_equals(matrix3d.m44, 16.6); |
| }, "DOMMatrix skewY() - 3D matrix"); |
| |
| test(function() { |
| var matrix3d = new DOMMatrix(initMatrix([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])); |
| matrix3d.skewYSelf(45); |
| assert_false(matrix3d.is2D); |
| assert_equals(matrix3d.m11, 2); |
| assert_equals(matrix3d.m12, 2); |
| assert_equals(matrix3d.m13, 2); |
| assert_equals(matrix3d.m14, 2); |
| assert_equals(matrix3d.m21, 1); |
| assert_equals(matrix3d.m22, 1); |
| assert_equals(matrix3d.m23, 1); |
| assert_equals(matrix3d.m24, 1); |
| assert_equals(matrix3d.m31, 1); |
| assert_equals(matrix3d.m32, 1); |
| assert_equals(matrix3d.m33, 1); |
| assert_equals(matrix3d.m34, 1); |
| assert_equals(matrix3d.m41, 1); |
| assert_equals(matrix3d.m42, 1); |
| assert_equals(matrix3d.m43, 1); |
| assert_equals(matrix3d.m44, 1); |
| }, "DOMMatrix skewY(45) - 3D matrix"); |
| </script> |
| </body> |
| </html> |