| 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 |