| OLD | NEW |
| 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 | 4 |
| 5 <script> | 5 <script> |
| 6 var EPSILON = 1e-6; // float epsilon | 6 var EPSILON = 1e-6; // float epsilon |
| 7 var values = [ | 7 var values = [ |
| 8 {input: new CSSScale(0, 0), x: 0, y: 0, z: 1, is2D: true, | 8 {input: new CSSScale(0, 0), x: 0, y: 0, z: 1, is2D: true, |
| 9 cssText: "scale(0, 0)"}, | 9 cssText: "scale(0, 0)"}, |
| 10 {input: new CSSScale(1, 2), x: 1, y: 2, z: 1, is2D: true, | 10 {input: new CSSScale(1, 2), x: 1, y: 2, z: 1, is2D: true, |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 assert_throws(new TypeError(), () => { new CSSScale(undefined, undefined, 0);
}); | 67 assert_throws(new TypeError(), () => { new CSSScale(undefined, undefined, 0);
}); |
| 68 assert_throws(new TypeError(), () => { new CSSScale(NaN, undefined, 0); }); | 68 assert_throws(new TypeError(), () => { new CSSScale(NaN, undefined, 0); }); |
| 69 assert_throws(new TypeError(), () => { new CSSScale(NaN, 0, NaN); }); | 69 assert_throws(new TypeError(), () => { new CSSScale(NaN, 0, NaN); }); |
| 70 assert_throws(new TypeError(), () => { new CSSScale(0, "hello", "world"); }); | 70 assert_throws(new TypeError(), () => { new CSSScale(0, "hello", "world"); }); |
| 71 assert_throws(new TypeError(), () => { new CSSScale(0, {}, {}); }); | 71 assert_throws(new TypeError(), () => { new CSSScale(0, {}, {}); }); |
| 72 assert_throws(new TypeError(), () => { new CSSScale({}, {}, {}); }); | 72 assert_throws(new TypeError(), () => { new CSSScale({}, {}, {}); }); |
| 73 assert_throws(new TypeError(), () => { new CSSScale(NaN, NaN, NaN); }); | 73 assert_throws(new TypeError(), () => { new CSSScale(NaN, NaN, NaN); }); |
| 74 }, "Test that invalid input throws an exception."); | 74 }, "Test that invalid input throws an exception."); |
| 75 | 75 |
| 76 test(function() { | 76 test(function() { |
| 77 for (var i = 0; i < values.length; ++i) { | |
| 78 var input = values[i].input; | |
| 79 var inputAsMatrix = input.asMatrix(); | |
| 80 assert_equals(inputAsMatrix.is2D(), input.is2D()); | |
| 81 | |
| 82 var expectedMatrix = input.is2D() ? new CSSMatrixComponent(new DOMMatrixRead
Only([input.x, 0, 0, input.y, 0, 0])) : | |
| 83 new CSSMatrixComponent(new DOMMatrixReadOnly([input.x, 0, 0, 0, 0, input
.y, 0, 0, 0, 0, input.z, 0, 0, 0, 0, 1])); | |
| 84 for (var attribute in expectedMatrix) { | |
| 85 if (attribute == "matrix") { | |
| 86 assert_matrix_approx_equals(inputAsMatrix[attribute], expectedMatrix[att
ribute]); | |
| 87 } else { | |
| 88 assert_equals(inputAsMatrix[attribute], expectedMatrix[attribute]); | |
| 89 } | |
| 90 } | |
| 91 } | |
| 92 }, "Test that asMatrix is constructed correctly for CSSScale."); | |
| 93 | |
| 94 test(function() { | |
| 95 var actual = new CSSScale(0, 0, 0); | 77 var actual = new CSSScale(0, 0, 0); |
| 96 actual.x = 1; | 78 actual.x = 1; |
| 97 actual.y = 2; | 79 actual.y = 2; |
| 98 actual.z = 3; | 80 actual.z = 3; |
| 99 assert_equals(actual.x, 1); | 81 assert_equals(actual.x, 1); |
| 100 assert_equals(actual.y, 2); | 82 assert_equals(actual.y, 2); |
| 101 assert_equals(actual.z, 3); | 83 assert_equals(actual.z, 3); |
| 102 }, "Test that x, y, z are mutable attributes."); | 84 }, "Test that x, y, z are mutable attributes."); |
| 103 | 85 |
| 104 function assert_array_approx_equals(actual, expected) { | 86 function assert_array_approx_equals(actual, expected) { |
| 105 for (var i = 0; i < actual.length; i++) { | 87 for (var i = 0; i < actual.length; i++) { |
| 106 assert_approx_equals(actual[i], expected[i], EPSILON); | 88 assert_approx_equals(actual[i], expected[i], EPSILON); |
| 107 } | 89 } |
| 108 } | 90 } |
| 109 | 91 |
| 110 function assert_matrix_approx_equals(actual, expected) { | 92 function assert_matrix_approx_equals(actual, expected) { |
| 111 assert_array_approx_equals(actual.toFloat64Array(), expected.toFloat64Array())
; | 93 assert_array_approx_equals(actual.toFloat64Array(), expected.toFloat64Array())
; |
| 112 } | 94 } |
| 113 </script> | 95 </script> |
| OLD | NEW |