| Index: third_party/WebKit/LayoutTests/typedcssom/cssCalcLength.html
|
| diff --git a/third_party/WebKit/LayoutTests/typedcssom/cssCalcLength.html b/third_party/WebKit/LayoutTests/typedcssom/cssCalcLength.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0af57e79a9df2a6591cd4884a5b69d2476218a42
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/typedcssom/cssCalcLength.html
|
| @@ -0,0 +1,76 @@
|
| +<!DOCTYPE html>
|
| +<script src='../resources/testharness.js'></script>
|
| +<script src='../resources/testharnessreport.js'></script>
|
| +
|
| +<script>
|
| +test(function() {
|
| + assert_throws(null, function() { new CSSCalcLength(); });
|
| + assert_throws(null, function() { new CSSCalcLength({}); });
|
| + assert_throws(null, function() { new CSSCalcLength({foo: 1}); });
|
| +}, 'Test that passing invalid arguments to CSSCalcLength throws an exception.');
|
| +
|
| +test(function() {
|
| + var calcLength1 = new CSSCalcLength({px: 1, percent: 2.2});
|
| + var calcLength2 = new CSSCalcLength({px: 3, percent: 4.3});
|
| +
|
| + var result = calcLength1.add(calcLength2);
|
| +
|
| + assert_not_equals(calcLength1, result);
|
| + assert_not_equals(calcLength2, result);
|
| + assert_true(result instanceof CSSCalcLength);
|
| + assert_equals(result.px, 4);
|
| + assert_equals(result.percent, 6.5);
|
| +}, 'Test that adding two CSSCalcLengths produces a new CSSCalcLength with the correct value.');
|
| +
|
| +test(function() {
|
| + var calcLength1 = new CSSCalcLength({px: 1, percent: 2.2});
|
| + var calcLength2 = new CSSCalcLength({px: 3, percent: 4.3});
|
| +
|
| + var result = calcLength1.subtract(calcLength2);
|
| +
|
| + assert_not_equals(calcLength1, result);
|
| + assert_not_equals(calcLength2, result);
|
| + assert_true(result instanceof CSSCalcLength);
|
| + assert_equals(result.px, -2);
|
| + assert_approx_equals(result.percent, -2.1, 0.000001);
|
| +}, 'Test that subtracting two CSSCalcLengths produces a new CSSCalcLength with the correct values.');
|
| +
|
| +test(function() {
|
| + var calcLength = new CSSCalcLength({px: 1, percent: 5.2});
|
| + var result = calcLength.multiply(3);
|
| +
|
| + assert_not_equals(calcLength, result);
|
| + assert_equals(result.px, 3);
|
| + assert_approx_equals(result.percent, 15.6, 0.000001);
|
| +}, 'Test that multiplying a CSSCalcLength produces a new CSSCalcLength with the correct values.');
|
| +
|
| +test(function() {
|
| + var calcLength = new CSSCalcLength({px: 3, percent: 15.6});
|
| + var result = calcLength.divide(3);
|
| +
|
| + assert_not_equals(calcLength, result);
|
| + assert_equals(result.px, 1);
|
| + assert_equals(result.percent, 5.2);
|
| +}, 'Test that dividing a CSSCalcLength produces a new CSSCalcLength with the correct values.');
|
| +
|
| +test(function() {
|
| + var values = [
|
| + {input: new CSSCalcLength({px: 1}), cssString: 'calc(1px)'},
|
| + {input: new CSSCalcLength({px: -1}), cssString: 'calc(-1px)'},
|
| + {input: new CSSCalcLength({px: 1, percent: 15.6}), cssString: 'calc(15.6% + 1px)'},
|
| + {input: new CSSCalcLength({px: 1, percent: -15.6}), cssString: 'calc(-15.6% + 1px)'},
|
| + {input: new CSSCalcLength({px: -1, percent: -15.6}), cssString: 'calc(-15.6% - 1px)'},
|
| + {input: new CSSCalcLength({px: -1, percent: -15.6, vw: 5}), cssString: 'calc((-15.6% - 1px) + 5vw)'},
|
| + {input: new CSSCalcLength({px: -1, percent: -15.6, vw: -5}), cssString: 'calc((-15.6% - 1px) - 5vw)'},
|
| + ];
|
| +
|
| + for (var i = 0; i < values.length; ++i) {
|
| + assert_equals(values[i].input.cssString, values[i].cssString);
|
| + }
|
| +
|
| +}, 'Test that the CSS string method for a CSSCalcLength produces the correct result');
|
| +
|
| +</script>
|
| +
|
| +<body>
|
| +</body>
|
|
|