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 |