| 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 24 matching lines...) Expand all Loading... |
| 35 } | 35 } |
| 36 }, "Test that the is2D values for CSSScale is correct."); | 36 }, "Test that the is2D values for CSSScale is correct."); |
| 37 | 37 |
| 38 test(function() { | 38 test(function() { |
| 39 for (var i = 0; i < values.length; ++i) { | 39 for (var i = 0; i < values.length; ++i) { |
| 40 assert_equals(values[i].input.toString(), values[i].cssText); | 40 assert_equals(values[i].input.toString(), values[i].cssText); |
| 41 } | 41 } |
| 42 }, "Test that the toString for CSSScale is correct."); | 42 }, "Test that the toString for CSSScale is correct."); |
| 43 | 43 |
| 44 test(function() { | 44 test(function() { |
| 45 assert_throws(null, () => { new CSSScale(); }); | 45 assert_throws(new TypeError(), () => { new CSSScale(); }); |
| 46 assert_throws(null, () => { new CSSScale(1); }); | 46 assert_throws(new TypeError(), () => { new CSSScale(1); }); |
| 47 }, "Test that invalid number of arguments for CSSScale throws an exception."); | 47 }, "Test that invalid number of arguments for CSSScale throws an exception."); |
| 48 | 48 |
| 49 test(function() { | 49 test(function() { |
| 50 assert_throws(null, () => { new CSSScale(NaN, 0); }); | 50 assert_throws(new TypeError(), () => { new CSSScale(NaN, 0); }); |
| 51 assert_throws(null, () => { new CSSScale(0, NaN); }); | 51 assert_throws(new TypeError(), () => { new CSSScale(0, NaN); }); |
| 52 assert_throws(null, () => { new CSSScale(NaN, NaN); }); | 52 assert_throws(new TypeError(), () => { new CSSScale(NaN, NaN); }); |
| 53 assert_throws(null, () => { new CSSScale(Infinity, 0); }); | 53 assert_throws(new TypeError(), () => { new CSSScale(Infinity, 0); }); |
| 54 assert_throws(null, () => { new CSSScale(-Infinity, 0); }); | 54 assert_throws(new TypeError(), () => { new CSSScale(-Infinity, 0); }); |
| 55 assert_throws(null, () => { new CSSScale("hello", 0); }); | 55 assert_throws(new TypeError(), () => { new CSSScale("hello", 0); }); |
| 56 assert_throws(null, () => { new CSSScale(0, "world"); }); | 56 assert_throws(new TypeError(), () => { new CSSScale(0, "world"); }); |
| 57 assert_throws(null, () => { new CSSScale(undefined, 0); }); | 57 assert_throws(new TypeError(), () => { new CSSScale(undefined, 0); }); |
| 58 assert_throws(null, () => { new CSSScale({}, {}); }); | 58 assert_throws(new TypeError(), () => { new CSSScale({}, {}); }); |
| 59 | 59 |
| 60 assert_throws(null, () => { new CSSScale("hello", 0, 0); }); | 60 assert_throws(new TypeError(), () => { new CSSScale("hello", 0, 0); }); |
| 61 assert_throws(null, () => { new CSSScale(0, NaN, 0); }); | 61 assert_throws(new TypeError(), () => { new CSSScale(0, NaN, 0); }); |
| 62 assert_throws(null, () => { new CSSScale(0, Infinity, 0); }); | 62 assert_throws(new TypeError(), () => { new CSSScale(0, Infinity, 0); }); |
| 63 assert_throws(null, () => { new CSSScale(0, 0, NaN); }); | 63 assert_throws(new TypeError(), () => { new CSSScale(0, 0, NaN); }); |
| 64 assert_throws(null, () => { new CSSScale(0, 0, Infinity); }); | 64 assert_throws(new TypeError(), () => { new CSSScale(0, 0, Infinity); }); |
| 65 assert_throws(null, () => { new CSSScale(0, 0, -Infinity); }); | 65 assert_throws(new TypeError(), () => { new CSSScale(0, 0, -Infinity); }); |
| 66 assert_throws(null, () => { new CSSScale(0, 0, undefined); }); | 66 assert_throws(new TypeError(), () => { new CSSScale(0, 0, undefined); }); |
| 67 assert_throws(null, () => { new CSSScale(undefined, undefined, 0); }); | 67 assert_throws(new TypeError(), () => { new CSSScale(undefined, undefined, 0);
}); |
| 68 assert_throws(null, () => { new CSSScale(NaN, undefined, 0); }); | 68 assert_throws(new TypeError(), () => { new CSSScale(NaN, undefined, 0); }); |
| 69 assert_throws(null, () => { new CSSScale(NaN, 0, NaN); }); | 69 assert_throws(new TypeError(), () => { new CSSScale(NaN, 0, NaN); }); |
| 70 assert_throws(null, () => { new CSSScale(0, "hello", "world"); }); | 70 assert_throws(new TypeError(), () => { new CSSScale(0, "hello", "world"); }); |
| 71 assert_throws(null, () => { new CSSScale(0, {}, {}); }); | 71 assert_throws(new TypeError(), () => { new CSSScale(0, {}, {}); }); |
| 72 assert_throws(null, () => { new CSSScale({}, {}, {}); }); | 72 assert_throws(new TypeError(), () => { new CSSScale({}, {}, {}); }); |
| 73 assert_throws(null, () => { 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) { | 77 for (var i = 0; i < values.length; ++i) { |
| 78 var input = values[i].input; | 78 var input = values[i].input; |
| 79 var inputAsMatrix = input.asMatrix(); | 79 var inputAsMatrix = input.asMatrix(); |
| 80 assert_equals(inputAsMatrix.is2D(), input.is2D()); | 80 assert_equals(inputAsMatrix.is2D(), input.is2D()); |
| 81 | 81 |
| 82 var expectedMatrix = input.is2D() ? new CSSMatrixComponent(new DOMMatrixRead
Only([input.x, 0, 0, input.y, 0, 0])) : | 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])); | 83 new CSSMatrixComponent(new DOMMatrixReadOnly([input.x, 0, 0, 0, 0, input
.y, 0, 0, 0, 0, input.z, 0, 0, 0, 0, 1])); |
| (...skipping 20 matching lines...) Expand all Loading... |
| 104 function assert_array_approx_equals(actual, expected) { | 104 function assert_array_approx_equals(actual, expected) { |
| 105 for (var i = 0; i < actual.length; i++) { | 105 for (var i = 0; i < actual.length; i++) { |
| 106 assert_approx_equals(actual[i], expected[i], EPSILON); | 106 assert_approx_equals(actual[i], expected[i], EPSILON); |
| 107 } | 107 } |
| 108 } | 108 } |
| 109 | 109 |
| 110 function assert_matrix_approx_equals(actual, expected) { | 110 function assert_matrix_approx_equals(actual, expected) { |
| 111 assert_array_approx_equals(actual.toFloat64Array(), expected.toFloat64Array())
; | 111 assert_array_approx_equals(actual.toFloat64Array(), expected.toFloat64Array())
; |
| 112 } | 112 } |
| 113 </script> | 113 </script> |
| OLD | NEW |