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

Unified Diff: third_party/WebKit/LayoutTests/css3/calc/calc-nesting.html

Issue 1856633002: Support nested calc() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/CSSCalculationValue.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/css3/calc/calc-nesting.html
diff --git a/third_party/WebKit/LayoutTests/css3/calc/calc-nesting.html b/third_party/WebKit/LayoutTests/css3/calc/calc-nesting.html
new file mode 100644
index 0000000000000000000000000000000000000000..b00bcc3e68cfa7145356340fc4602b9f6486d72e
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/css3/calc/calc-nesting.html
@@ -0,0 +1,40 @@
+<!doctype html>
+<script src="../../resources/testharness.js"></script>
+<script src="../../resources/testharnessreport.js"></script>
+<script src="../../css-parser/resources/property-parsing-test.js"></script>
+
+<style>
+#parent { width: 200px; }
+#div1 { width: calc(calc(50px)); }
+#div2 { width: calc(calc(60%) - 20px); }
+#div3 { width: calc(calc(3 * 25%)); }
+#div4 {
+ --width: calc(10% + 30px);
+ width: calc(2 * var(--width));
+}
+</style>
+<div id=parent>
+ <div id=div1></div>
+ <div id=div2></div>
+ <div id=div3></div>
+ <div id=div4></div>
+</div>
+
+<script>
+// Tests using property-parsing-test.js
+assert_valid_value("left", "calc(20px + calc(80px))", "calc(100px)");
+assert_valid_value("left", "calc(calc(100px))", "calc(100px)");
+assert_valid_value("left", "calc(calc(2) * calc(50px)", "calc(100px)");
+assert_valid_value("left", "calc(calc(150px*2/3)", "calc(100px)");
+assert_valid_value("left", "calc(calc(2 * calc(calc(3)) + 4) * 10px)", "calc(100px)");
+assert_valid_value("left", "calc(50px + calc(40%))", "calc(50px + 40%)");
+assert_valid_value("border", "calc(calc(10px)) solid pink", "calc(10px) solid pink");
+
+// Tests that require layout
+test(function(){
+ assert_equals(getComputedStyle(div1).width, "50px");
+ assert_equals(getComputedStyle(div2).width, "100px");
+ assert_equals(getComputedStyle(div3).width, "150px");
+ assert_equals(getComputedStyle(div4).width, "100px");
+}, "Nested calcs should work with layout");
+</script>
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/css/CSSCalculationValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698