Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: third_party/WebKit/LayoutTests/typedcssom/cssSkew.html

Issue 2933473003: Remove asMatrix as a JS-exposed method in CSSTransformComponents. (Closed)
Patch Set: update skew expectation for missing "s" Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <script src="resources/comparisons.js"></script>
4 5
5 <script> 6 <script>
6 var EPSILON = 1e-6; // float epsilon 7 var EPSILON = 1e-6; // float epsilon
7 8
8 function tanUnitValue(unitValue) { 9 function tanUnitValue(unitValue) {
9 if (unitValue.unit == 'deg') { 10 if (unitValue.unit == 'deg') {
10 var radians = unitValue.value * Math.PI / 180; 11 var radians = unitValue.value * Math.PI / 180;
11 return Math.tan(radians); 12 return Math.tan(radians);
12 } 13 }
13 if (unitValue.unit = 'rad') { 14 if (unitValue.unit = 'rad') {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 cssText: "skew(0deg, 1rad)" 56 cssText: "skew(0deg, 1rad)"
56 } 57 }
57 ]; 58 ];
58 59
59 for (let params of testParams) { 60 for (let params of testParams) {
60 test(() => { 61 test(() => {
61 assert_approx_equals(params.input.ax.value, params.ax.value, EPSILON); 62 assert_approx_equals(params.input.ax.value, params.ax.value, EPSILON);
62 assert_equals(params.input.ax.unit, params.ax.unit); 63 assert_equals(params.input.ax.unit, params.ax.unit);
63 assert_approx_equals(params.input.ay.value, params.ay.value, EPSILON); 64 assert_approx_equals(params.input.ay.value, params.ay.value, EPSILON);
64 assert_equals(params.input.ay.unit, params.ay.unit); 65 assert_equals(params.input.ay.unit, params.ay.unit);
65 }, "(ax, ay) value is correct for " + params.cssText); 66 }, "(ax, ay) values are correct for " + params.cssText);
66 } 67 }
67 68
68 for (let params of testParams) { 69 for (let params of testParams) {
69 test(() => { 70 test(() => {
70 assert_true(params.input.is2D()); 71 assert_true(params.input.is2D());
71 }, "is2D value is correct for " + params.cssText); 72 }, "is2D value is correct for " + params.cssText);
72 } 73 }
73 74
74 for (let params of testParams) { 75 for (let params of testParams) {
75 test(() => { 76 test(() => {
76 assert_equals(params.input.toString(), params.cssText); 77 assert_equals(params.input.toString(), params.cssText);
77 }, "toString is correct for " + params.cssText); 78 }, "toString is correct for " + params.cssText);
78 } 79 }
79 80
80 test(() => { 81 test(() => {
81 assert_throws(new TypeError(), () => { new CSSSkew(); }); 82 assert_throws(new TypeError(), () => { new CSSSkew(); });
82 assert_throws(new TypeError(), () => { new CSSSkew(null); }); 83 assert_throws(new TypeError(), () => { new CSSSkew(null); });
83 assert_throws(new TypeError(), () => { new CSSSkew(1); }); 84 assert_throws(new TypeError(), () => { new CSSSkew(1); });
84 assert_throws(new TypeError(), () => { new CSSSkew('1'); }); 85 assert_throws(new TypeError(), () => { new CSSSkew('1'); });
85 assert_throws(new TypeError(), () => { 86 assert_throws(new TypeError(), () => {
86 new CSSSkew(new CSSUnitValue(1, 'deg')); 87 new CSSSkew(new CSSUnitValue(1, 'deg'));
87 }); 88 });
88 }, "Invalid arguments to constructor throws an exception."); 89 }, "Invalid arguments to constructor throws an exception.");
89 90
90 for (let params of testParams) { 91 for (let params of testParams) {
91 test(() => { 92 test(() => {
92 var input = params.input; 93 var input = params.input;
93 var inputAsMatrix = input.asMatrix(); 94 var transformValue = new CSSTransformValue([input]);
94 assert_true(inputAsMatrix.is2D()); 95 var inputAsMatrix = transformValue.toMatrix();
95 var tanAx = tanUnitValue(input.ax.degrees); 96 assert_true(inputAsMatrix.is2D);
96 var tanAy = tanUnitValue(input.ay.degrees); 97
97 var expectedMatrix = new CSSMatrixComponent( 98 var tanAx = tanUnitValue(input.ax);
98 new DOMMatrixReadOnly([1, tanAy, tanAx, 1, 0, 0])); 99 var tanAy = tanUnitValue(input.ay);
99 for (var attribute in expectedMatrix) { 100 var expectedMatrix = new DOMMatrixReadOnly([1, tanAy, tanAx, 1, 0, 0]);
100 if (attribute == "matrix") { 101 assert_matrix_approx_equals(inputAsMatrix, expectedMatrix, EPSILON);
101 assert_matrix_approx_equals(
102 inputAsMatrix[attribute], expectedMatrix[attribute], epsilon);
103 } else {
104 assert_equals(inputAsMatrix[attribute], expectedMatrix[attribute]);
105 }
106 }
107 }, "asMatrix is constructed correctly for " + params.cssText); 102 }, "asMatrix is constructed correctly for " + params.cssText);
108 } 103 }
109 104
110 test(function() { 105 test(() => {
111 var skew = new CSSSkew( 106 var skew = new CSSSkew(
112 new CSSUnitValue(1, 'deg'), new CSSUnitValue(2, 'deg')); 107 new CSSUnitValue(1, 'deg'), new CSSUnitValue(2, 'deg'));
113 skew.ax = new CSSUnitValue(3, 'deg'); 108 skew.ax = new CSSUnitValue(3, 'deg');
114 skew.ay = new CSSUnitValue(3, 'rad'); 109 skew.ay = new CSSUnitValue(3, 'rad');
115 110
116 assert_equals(skew.ax.value, 3); 111 assert_equals(skew.ax.value, 3);
117 assert_equals(skew.ay.value, 3); 112 assert_equals(skew.ay.value, 3);
118 assert_equals(skew.ax.unit, 'deg'); 113 assert_equals(skew.ax.unit, 'deg');
119 assert_equals(skew.ay.unit, 'rad'); 114 assert_equals(skew.ay.unit, 'rad');
120 }, "Setting ax and ay with valid CSSUnitValues"); 115 }, "Setting ax and ay with valid CSSUnitValues");
121 116
122 for (let a of ['ax', 'ay']) { 117 for (let a of ['ax', 'ay']) {
123 test(() => { 118 test(() => {
124 var skew = new CSSSkew( 119 var skew = new CSSSkew(
125 new CSSUnitValue(1, 'deg'), new CSSUnitValue(2, 'deg')); 120 new CSSUnitValue(1, 'deg'), new CSSUnitValue(2, 'deg'));
126 assert_throws(new TypeError(), () => { 121 assert_throws(new TypeError(), () => {
127 skew[a] = new CSSUnitValue(1, 'px'); 122 skew[a] = new CSSUnitValue(1, 'px');
128 }); 123 });
129 assert_throws(new TypeError(), () => { 124 assert_throws(new TypeError(), () => {
130 skew[a] = 'bananas'; 125 skew[a] = 'bananas';
131 }); 126 });
132 assert_throws(new TypeError(), () => { 127 assert_throws(new TypeError(), () => {
133 skew[a] = null; 128 skew[a] = null;
134 }); 129 });
135 }, "Setting " + a + " with invalid values"); 130 }, "Setting " + a + " with invalid values");
136 } 131 }
137 132
138 </script> 133 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698