Index: LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-get-set.js |
diff --git a/LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-get-set.js b/LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-get-set.js |
index 276ec9b38956ef0ecaf3f6b835f744182824dbb1..82404d3ce50fe65c86acd69344398cc66f5ce716 100755 |
--- a/LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-get-set.js |
+++ b/LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-get-set.js |
@@ -11,6 +11,10 @@ testGridDefinitionsValues(document.getElementById("gridWithMinMax"), "minmax(10% |
testGridDefinitionsValues(document.getElementById("gridWithMinContent"), "min-content", "min-content"); |
testGridDefinitionsValues(document.getElementById("gridWithMaxContent"), "max-content", "max-content"); |
testGridDefinitionsValues(document.getElementById("gridWithFraction"), "1fr", "2fr"); |
+testGridDefinitionsValues(document.getElementById("gridWithCalcElement"), "150px", "75px"); |
+testGridDefinitionsValues(document.getElementById("gridWithCalcComplexElement"), "550px", "465px"); |
+testGridDefinitionsValues(document.getElementById("gridWithCalcInsideMinMaxElement"), "minmax(10%, 15px)", "minmax(20px, 50%)"); |
+testGridDefinitionsValues(document.getElementById("gridWithCalcComplexInsideMinMaxElement"), "minmax(10%, 415px)", "minmax(80px, 50%)"); |
debug(""); |
debug("Test getting wrong values for grid-definition-columns and grid-definition-rows through CSS (they should resolve to the default: 'none')"); |
@@ -52,6 +56,13 @@ testGridDefinitionsSetJSValues("3.1459fr", "2.718fr"); |
testGridDefinitionsSetJSValues("+3fr", "+4fr", "3fr", "4fr", "3fr", "4fr"); |
debug(""); |
+debug("Test getting and setting grid-definition-columns and grid-definition-rows to calc() values through JS"); |
+testGridDefinitionsSetJSValues("calc(150px)", "calc(75px)", "150px", "75px"); |
+testGridDefinitionsSetJSValues("calc(50% - 30px)", "calc(75px + 10%)", "370px", "135px"); |
+testGridDefinitionsSetJSValues("minmax(25%, calc(30px))", "minmax(calc(75%), 40px)", "minmax(25%, 30px)", "minmax(75%, 40px)"); |
+testGridDefinitionsSetJSValues("minmax(10%, calc(30px + 10%))", "minmax(calc(25% - 50px), 200px)", "minmax(10%, 110px)", "minmax(100px, 200px)"); |
+ |
+debug(""); |
debug("Test setting grid-definition-columns and grid-definition-rows to bad values through JS"); |
// No comma and only 1 argument provided. |
testGridDefinitionsSetBadJSValues("minmax(10px 20px)", "minmax(10px)") |
@@ -70,6 +81,10 @@ testGridDefinitionsSetBadJSValues("7.-fr", "-8,0fr"); |
// Negative values are not allowed. |
testGridDefinitionsSetBadJSValues("-1px", "-6em"); |
testGridDefinitionsSetBadJSValues("minmax(-1%, 32%)", "minmax(2vw, -6em)"); |
+// Invalid expressions with calc |
+testGridDefinitionsSetBadJSValues("calc(16px 30px)", "calc(25px + auto)"); |
+testGridDefinitionsSetBadJSValues("minmax(min-content, calc())", "calc(10%("); |
+testGridDefinitionsSetBadJSValues("calc(2px = 2px)", "calc(2fr + 10%)"); |
debug(""); |
debug("Test setting grid-definition-columns and grid-definition-rows back to 'none' through JS"); |