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 | 7 |
8 function angle(deg) { return new CSSUnitValue(deg, 'deg'); } | 8 function angle(deg) { return new CSSUnitValue(deg, 'deg'); } |
9 | 9 |
10 function tanDegrees(degrees) { | 10 function tanDegrees(degrees) { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 | 52 |
53 test(function() { | 53 test(function() { |
54 assert_throws(new TypeError(), function() { new CSSSkew(); }); | 54 assert_throws(new TypeError(), function() { new CSSSkew(); }); |
55 assert_throws(new TypeError(), function() { new CSSSkew(null); }); | 55 assert_throws(new TypeError(), function() { new CSSSkew(null); }); |
56 assert_throws(new TypeError(), function() { new CSSSkew(1); }); | 56 assert_throws(new TypeError(), function() { new CSSSkew(1); }); |
57 assert_throws(new TypeError(), function() { new CSSSkew('1'); }); | 57 assert_throws(new TypeError(), function() { new CSSSkew('1'); }); |
58 assert_throws(new TypeError(), function() { new CSSSkew(angle(1)); }); | 58 assert_throws(new TypeError(), function() { new CSSSkew(angle(1)); }); |
59 }, "Invalid arguments for CSSSkew throws an exception."); | 59 }, "Invalid arguments for CSSSkew throws an exception."); |
60 | 60 |
61 test(function() { | 61 test(function() { |
62 for (var i = 0; i < values.length; ++i) { | |
63 var input = values[i].input; | |
64 var inputAsMatrix = input.asMatrix(); | |
65 assert_true(inputAsMatrix.is2D()); | |
66 var tanAx = tanDegrees(input.ax.degrees); | |
67 var tanAy = tanDegrees(input.ay.degrees); | |
68 var expectedMatrix = new CSSMatrixComponent(new DOMMatrixReadOnly([1, tanAy,
tanAx, 1, 0, 0])); | |
69 for (var attribute in expectedMatrix) { | |
70 if (attribute == "matrix") { | |
71 assert_matrix_approx_equals(inputAsMatrix[attribute], expectedMatrix[att
ribute]); | |
72 } else { | |
73 assert_equals(inputAsMatrix[attribute], expectedMatrix[attribute]); | |
74 } | |
75 } | |
76 } | |
77 }, "asMatrix is constructed correctly for CSSSkew."); | |
78 | |
79 test(function() { | |
80 var skew = new CSSSkew(new CSSUnitValue(1, 'deg'), new CSSUnitValue(2, 'deg'))
; | 62 var skew = new CSSSkew(new CSSUnitValue(1, 'deg'), new CSSUnitValue(2, 'deg'))
; |
81 skew.ax = new CSSUnitValue(3, 'deg'); | 63 skew.ax = new CSSUnitValue(3, 'deg'); |
82 skew.ay = new CSSUnitValue(3, 'rad'); | 64 skew.ay = new CSSUnitValue(3, 'rad'); |
83 | 65 |
84 assert_equals(skew.ax.value, 3); | 66 assert_equals(skew.ax.value, 3); |
85 assert_equals(skew.ay.value, 3); | 67 assert_equals(skew.ay.value, 3); |
86 assert_equals(skew.ax.unit, 'deg'); | 68 assert_equals(skew.ax.unit, 'deg'); |
87 assert_equals(skew.ay.unit, 'rad'); | 69 assert_equals(skew.ay.unit, 'rad'); |
88 }, "Setting ax and ay for CSSSkew with valid CSSUnitValues"); | 70 }, "Setting ax and ay for CSSSkew with valid CSSUnitValues"); |
89 | 71 |
90 for (let a of ['ax', 'ay']) { | 72 for (let a of ['ax', 'ay']) { |
91 test(() => { | 73 test(() => { |
92 var skew = new CSSSkew( | 74 var skew = new CSSSkew( |
93 new CSSUnitValue(1, 'deg'), new CSSUnitValue(2, 'deg')); | 75 new CSSUnitValue(1, 'deg'), new CSSUnitValue(2, 'deg')); |
94 assert_throws(new TypeError(), () => { | 76 assert_throws(new TypeError(), () => { |
95 skew[a] = new CSSUnitValue(1, 'px'); | 77 skew[a] = new CSSUnitValue(1, 'px'); |
96 }); | 78 }); |
97 assert_throws(new TypeError(), () => { | 79 assert_throws(new TypeError(), () => { |
98 skew[a] = 'bananas'; | 80 skew[a] = 'bananas'; |
99 }); | 81 }); |
100 assert_throws(new TypeError(), () => { | 82 assert_throws(new TypeError(), () => { |
101 skew[a] = null; | 83 skew[a] = null; |
102 }); | 84 }); |
103 }, "Setting " + a + " with invalid values"); | 85 }, "Setting " + a + " with invalid values"); |
104 } | 86 } |
105 | 87 |
106 </script> | 88 </script> |
OLD | NEW |