| Index: third_party/WebKit/LayoutTests/typedcssom/translationTransformComponent.html
|
| diff --git a/third_party/WebKit/LayoutTests/typedcssom/translationTransformComponent.html b/third_party/WebKit/LayoutTests/typedcssom/translationTransformComponent.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7ae5f462c4b55a22b5ad6c9366f12bcb49fcd7e3
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/typedcssom/translationTransformComponent.html
|
| @@ -0,0 +1,97 @@
|
| +<!DOCTYPE html>
|
| +<script src="../resources/testharness.js"></script>
|
| +<script src="../resources/testharnessreport.js"></script>
|
| +
|
| +<script>
|
| +
|
| +var simpleLength = new SimpleLength(0, "px");
|
| +var decimalLength = new SimpleLength(1.1, "px");
|
| +var negativeLength = new SimpleLength(-2.2, "em");
|
| +var calcLengthPx = new CalcLength({px: 1});
|
| +var calcLength = new CalcLength({px: 1, em: -2.2});
|
| +
|
| +var simplePercent = new SimpleLength(10, "percent");
|
| +var calcPercent = new CalcLength({px: 1, percent: 2.2});
|
| +
|
| +var values = [
|
| + // 2D Translation Transform Components
|
| + {input: new Translation(simpleLength, simpleLength),
|
| + x: simpleLength, y: simpleLength, is2DComponent: true},
|
| + {input: new Translation(decimalLength, negativeLength),
|
| + x: decimalLength, y: negativeLength, is2DComponent: true},
|
| + {input: new Translation(negativeLength, calcLengthPx),
|
| + x: negativeLength, y: calcLengthPx, is2DComponent: true},
|
| + {input: new Translation(calcLengthPx, negativeLength),
|
| + x: calcLengthPx, y: negativeLength, is2DComponent: true},
|
| + {input: new Translation(calcLengthPx, calcLength),
|
| + x: calcLengthPx, y: calcLength, is2DComponent: true},
|
| + {input: new Translation(simplePercent, simpleLength),
|
| + x: simplePercent, y: simpleLength, is2DComponent: true},
|
| + {input: new Translation(calcLengthPx, simplePercent),
|
| + x: calcLengthPx, y: simplePercent, is2DComponent: true},
|
| + {input: new Translation(calcPercent, calcLength),
|
| + x: calcPercent, y: calcLength, is2DComponent: true},
|
| + {input: new Translation(simplePercent, calcPercent),
|
| + x: simplePercent, y: calcPercent, is2DComponent: true},
|
| +
|
| + // 3D Translation Transform Components
|
| + {input: new Translation(simpleLength, simpleLength, simpleLength),
|
| + x: simpleLength, y: simpleLength, z: simpleLength, is2DComponent: false},
|
| + {input: new Translation(simpleLength, decimalLength, negativeLength),
|
| + x: simpleLength, y: decimalLength, z: negativeLength, is2DComponent: false},
|
| + {input: new Translation(simpleLength, simpleLength, calcLengthPx),
|
| + x: simpleLength, y: simpleLength, z: calcLengthPx, is2DComponent: false},
|
| + {input: new Translation(calcLengthPx, calcLength, calcLength),
|
| + x: calcLengthPx, y: calcLength, z: calcLength, is2DComponent: false},
|
| + {input: new Translation(simplePercent, decimalLength, simpleLength),
|
| + x: simplePercent, y: decimalLength, z: simpleLength, is2DComponent: false},
|
| + {input: new Translation(simpleLength, calcPercent, decimalLength),
|
| + x: simpleLength, y: calcPercent, z: decimalLength, is2DComponent: false},
|
| + {input: new Translation(calcPercent, simplePercent, calcLength),
|
| + x: calcPercent, y: simplePercent, z: calcLength, is2DComponent: false}
|
| +];
|
| +
|
| +function expectedCssString(obj) {
|
| + var cssString = obj.is2DComponent ? "translate(" : "translate3d(";
|
| + cssString += obj.x.cssString + ", " + obj.y.cssString;
|
| + if (!obj.is2DComponent)
|
| + cssString += ", " + obj.z.cssString;
|
| + cssString += ")";
|
| + return cssString;
|
| +}
|
| +
|
| +test(function() {
|
| + for (var i = 0; i < values.length; ++i) {
|
| + assert_equals(values[i].input.x, values[i].x);
|
| + assert_equals(values[i].input.y, values[i].y);
|
| + if (values[i].is2DComponent)
|
| + assert_equals(values[i].input.z, null);
|
| + else
|
| + assert_equals(values[i].input.z, values[i].z);
|
| + }
|
| +}, "Test that the (x, y, z) values for Translation are correct.");
|
| +
|
| +test(function() {
|
| + for (var i = 0; i < values.length; ++i) {
|
| + assert_equals(values[i].input.is2DComponent(), values[i].is2DComponent);
|
| + }
|
| +}, "Test that the is2DComponent values for Translation is correct.");
|
| +
|
| +test(function() {
|
| + for (var i = 0; i < values.length; ++i) {
|
| + assert_equals(values[i].input.cssString, expectedCssString(values[i]));
|
| + }
|
| +}, "Test that cssString values for Translation is correct.");
|
| +
|
| +test(function() {
|
| + assert_throws(null, function() { new Translation(simpleLength, simpleLength, simplePercent); });
|
| + assert_throws(null, function() { new Translation(simpleLength, simpleLength, calcPercent); });
|
| + assert_throws(null, function() { new Translation(simplePercent, simplePercent, simplePercent); });
|
| +}, "Test that Translation constructor throws when z component contains percent.");
|
| +
|
| +test(function() {
|
| + assert_throws(null, function() { new Translation(); });
|
| + assert_throws(null, function() { new Translation(simpleLength); });
|
| +}, "Test that invalid number of arguments for Translation throws an exception.");
|
| +
|
| +</script>
|
|
|