Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix-rotate.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix-rotate.html b/third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix-rotate.html |
| index 40b29a7fb92b530819eca1959fb75feecce5edc0..f7fc1ed17b72d5632ee61b0568ffe0cdf0c26e6f 100644 |
| --- a/third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix-rotate.html |
| +++ b/third_party/WebKit/LayoutTests/fast/dom/geometry-interfaces-dom-matrix-rotate.html |
| @@ -8,6 +8,10 @@ function deg2rad(degrees) { |
| return degrees * Math.PI / 180; |
| } |
| +function rad2deg(radians) { |
| + return radians * 180 / Math.PI; |
| +} |
| + |
| function getRotationMatrix(x, y, z, alpha_in_degrees) { |
| // Vector normalizing |
| var nx = x; |
| @@ -47,6 +51,92 @@ function getRotationMatrix(x, y, z, alpha_in_degrees) { |
| } |
| test(() => { |
| + var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| + var result = matrix.rotate(60); |
| + matrix.rotateSelf(60); |
| + var expectedMatrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| + expectedMatrix.multiplySelf(getRotationMatrix(0, 0, 1, 60)); |
| + assert_matrix_almost_equals(result, expectedMatrix); |
| + assert_matrix_almost_equals(matrix, expectedMatrix); |
|
meade_UTC10
2016/10/24 05:37:11
I had to think for a moment to figure out what the
Hwanseung Lee
2016/10/24 14:33:43
Done.
|
| +}, "DOMMatrix 2d - rotate(rotX) and rotateSelf(rotX)"); |
| + |
| +test(() => { |
| + var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); |
| + var result = matrix.rotate(77); |
| + matrix.rotateSelf(77); |
| + var expectedMatrix = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); |
| + expectedMatrix.multiplySelf(getRotationMatrix(0, 0, 1, 77)); |
| + assert_matrix_almost_equals(result, expectedMatrix); |
| + assert_matrix_almost_equals(matrix, expectedMatrix); |
| +}, "DOMMatrix 3d - rotate(rotX) and rotateSelf(rotX)"); |
| + |
| +test(() => { |
| + var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| + var result = matrix.rotate(10, 20); |
| + matrix.rotateSelf(10, 20); |
| + var expectedMatrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| + expectedMatrix.multiplySelf(getRotationMatrix(0, 1, 0, 20)); |
| + expectedMatrix.multiplySelf(getRotationMatrix(1, 0, 0, 10)); |
| + assert_matrix_almost_equals(result, expectedMatrix); |
| + assert_matrix_almost_equals(matrix, expectedMatrix); |
| +}, "DOMMatrix 2d - rotate(rotX, rotY) and rotateSelf(rotX, rotY)"); |
| + |
| +test(() => { |
| + var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); |
| + var result = matrix.rotate(23, 50); |
| + matrix.rotateSelf(23, 50); |
| + var expectedMatrix = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); |
| + expectedMatrix.multiplySelf(getRotationMatrix(0, 1, 0, 50)); |
| + expectedMatrix.multiplySelf(getRotationMatrix(1, 0, 0, 23)); |
| + assert_matrix_almost_equals(result, expectedMatrix); |
| + assert_matrix_almost_equals(matrix, expectedMatrix); |
| +}, "DOMMatrix 3d - rotate(rotX, rotY) and rotateSelf(rotX, rotY)"); |
| + |
| +test(() => { |
| + var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| + var result = matrix.rotate(39, 10, 50); |
| + matrix.rotateSelf(39, 10, 50); |
| + var expectedMatrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| + expectedMatrix.multiplySelf(getRotationMatrix(0, 0, 1, 50)); |
| + expectedMatrix.multiplySelf(getRotationMatrix(0, 1, 0, 10)); |
| + expectedMatrix.multiplySelf(getRotationMatrix(1, 0, 0, 39)); |
| + assert_matrix_almost_equals(result, expectedMatrix); |
| + assert_matrix_almost_equals(matrix, expectedMatrix); |
| +}, "DOMMatrix 2d - rotate(rotX, rotY, rotX) and rotateSelf(rotX, rotY, rotX)"); |
| + |
| +test(() => { |
| + var matrix = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); |
| + var result = matrix.rotate(55, 66, 88); |
| + matrix.rotateSelf(55, 66, 88); |
| + var expectedMatrix = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); |
| + expectedMatrix.multiplySelf(getRotationMatrix(0, 0, 1, 88)); |
| + expectedMatrix.multiplySelf(getRotationMatrix(0, 1, 0, 66)); |
| + expectedMatrix.multiplySelf(getRotationMatrix(1, 0, 0, 55)); |
| + assert_matrix_almost_equals(result, expectedMatrix); |
| + assert_matrix_almost_equals(matrix, expectedMatrix); |
| +}, "DOMMatrix 3d - rotate(rotX, rotY, rotX) and rotateSelf(rotX, rotY, rotX)"); |
| + |
| +test(function() { |
| + var matrix2d = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| + var result = matrix2d.rotateFromVector(4, 7); |
| + var expected = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| + expected.rotateSelf(rad2deg(Math.atan2(7, 4))); |
| + assert_matrix_almost_equals(result, expected); |
| + matrix2d.rotateFromVectorSelf(4, 7); |
| + assert_matrix_almost_equals(matrix2d, expected); |
| +}, "DOMMatrix 2d - rotateFromVector(x, y) and rotateFromVectorSelf(x, y)"); |
| + |
| +test(function() { |
| + var matrix3d = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); |
| + var result = matrix3d.rotateFromVector(4, 7); |
| + var expected = new DOMMatrix([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]); |
| + expected.rotateSelf(rad2deg(Math.atan2(7, 4))); |
| + assert_matrix_almost_equals(result, expected); |
| + matrix3d.rotateFromVectorSelf(4, 7); |
| + assert_matrix_almost_equals(matrix3d, expected); |
| +}, "DOMMatrix 3d - rotateFromVector(x, y) rotateFromVectorSelf(x, y)"); |
| + |
| +test(() => { |
| var matrix2d = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| matrix2d.rotateAxisAngleSelf(); |
| var expectedMatrix = new DOMMatrix([1, 2, 3, 4, 5, 6]); |
| @@ -341,26 +431,26 @@ test(() => { |
| var matrix3d = new DOMMatrix([1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); |
| matrix3d = matrix3d.rotateAxisAngle(0, 0, 1, -90); |
| var expectedMatrix1 = new DOMMatrix([0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0]); |
| - assert_array_almost_equals(matrix3d.toFloat64Array(), expectedMatrix1.toFloat64Array()); |
| + assert_matrix_almost_equals(matrix3d, expectedMatrix1); |
| matrix3d = matrix3d.rotateAxisAngle(1, 0, 0, -90); |
| var expectedMatrix2 = new DOMMatrix([0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 0]); |
| - assert_array_almost_equals(matrix3d.toFloat64Array(), expectedMatrix2.toFloat64Array()); |
| + assert_matrix_almost_equals(matrix3d, expectedMatrix2); |
| matrix3d = matrix3d.rotateAxisAngle(0, 1, 0, -90); |
| var expectedMatrix3 = new DOMMatrix([1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); |
| - assert_array_almost_equals(matrix3d.toFloat64Array(), expectedMatrix3.toFloat64Array()); |
| + assert_matrix_almost_equals(matrix3d, expectedMatrix3); |
| }, "DOMMatrix 3d - rotateAxisAngle()"); |
| test(() => { |
| var matrix3d = new DOMMatrix([1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); |
| matrix3d.rotateAxisAngleSelf(0, 0, 1, -90); |
| var expectedMatrix1 = new DOMMatrix([0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0]); |
| - assert_array_almost_equals(matrix3d.toFloat64Array(), expectedMatrix1.toFloat64Array()); |
| + assert_matrix_almost_equals(matrix3d, expectedMatrix1); |
| matrix3d.rotateAxisAngleSelf(1, 0, 0, -90); |
| var expectedMatrix2 = new DOMMatrix([0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 0]); |
| - assert_array_almost_equals(matrix3d.toFloat64Array(), expectedMatrix2.toFloat64Array()); |
| + assert_matrix_almost_equals(matrix3d, expectedMatrix2); |
| matrix3d.rotateAxisAngleSelf(0, 1, 0, -90); |
| var expectedMatrix3 = new DOMMatrix([1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); |
| - assert_array_almost_equals(matrix3d.toFloat64Array(), expectedMatrix3.toFloat64Array()); |
| + assert_matrix_almost_equals(matrix3d, expectedMatrix3); |
| }, "DOMMatrix 3d - rotateAxisAngleSelf()"); |
| </script> |