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

Unified Diff: third_party/WebKit/LayoutTests/typedcssom/cssCalcLength.html

Issue 2011833002: Typed CSSOM: Rename CalcLength and StyleCalcLength to CSSCalcLength (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
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>

Powered by Google App Engine
This is Rietveld 408576698