| Index: third_party/WebKit/LayoutTests/typedcssom/cssRotation.html
|
| diff --git a/third_party/WebKit/LayoutTests/typedcssom/cssRotation.html b/third_party/WebKit/LayoutTests/typedcssom/cssRotation.html
|
| index 194a7c04f732112fff5a59c1de345c3a4e9ce85f..8bc64a7b9e0b21d4570977eb7fab8be58a648952 100644
|
| --- a/third_party/WebKit/LayoutTests/typedcssom/cssRotation.html
|
| +++ b/third_party/WebKit/LayoutTests/typedcssom/cssRotation.html
|
| @@ -139,16 +139,47 @@ for (let params of testParams) {
|
| }, "toString value is correct for " + params.cssText);
|
| }
|
|
|
| +test(() => {
|
| + let rotation = new CSSRotation(1, 2, 3, CSS.deg(10));
|
| + assert_equals(rotation.toString(), 'rotate3d(1, 2, 3, 10deg)');
|
| + rotation.is2D = true;
|
| + assert_true(rotation.is2D);
|
| + assert_equals(rotation.toString(), 'rotate(10deg)');
|
| +}, "x, y, and z components are not included in toString when is2D is true");
|
| +
|
| for (let params of testParams) {
|
| - var input = params.input;
|
| + let input = params.input;
|
| test(() => {
|
| var transformValue = new CSSTransformValue([input]);
|
| var result = transformValue.toMatrix();
|
| - assert_equals(result.is2D, input.is2D, 'is2D');
|
| assert_matrix_approx_equals(result, params.asMatrix, EPSILON);
|
| - }, "toMatrix works for " + params.cssText);
|
| + }, "toMatrix works for " + params.cssText + " in a CSSTransformValue");
|
| }
|
|
|
| +test(() => {
|
| + // Obtained by doing the following in a console:
|
| + // $0.style.transform = 'rotate3d(1, 2, 3, 10rad)';
|
| + // getComputedStyle($0).transform
|
| + let expected3DMatrix = new DOMMatrixReadOnly(
|
| + [-0.707709, -0.173463, 0.684878, 0,
|
| + 0.698912, -0.313623, 0.642778, 0,
|
| + 0.103295, 0.933569, 0.343189, 0,
|
| + 0, 0, 0, 1]);
|
| + let expected2DMatrix = new DOMMatrixReadOnly(
|
| + [Math.cos(10), Math.sin(10), -Math.sin(10), Math.cos(10), 0, 0]);
|
| +
|
| + let rotation = new CSSRotation(1, 2, 3, CSS.rad(10));
|
| + let transformValue = new CSSTransformValue([rotation]);
|
| +
|
| + assert_matrix_approx_equals(
|
| + transformValue.toMatrix(), expected3DMatrix, EPSILON);
|
| +
|
| + rotation.is2D = true;
|
| +
|
| + assert_matrix_approx_equals(
|
| + transformValue.toMatrix(), expected2DMatrix, EPSILON);
|
| +}, "x, y, and z attributes have no effect on toMatrix if is2D is set to true");
|
| +
|
| for (let attribute of ["x", "y", "z"]) {
|
| test(() => {
|
| let rotation = new CSSRotation(1, 2, 3, new CSSUnitValue(10, 'deg'));
|
|
|