Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 description('Test that setting and getting grid-definition-columns and grid-defi nition-rows works as expected'); | 1 description('Test that setting and getting grid-definition-columns and grid-defi nition-rows works as expected'); |
| 2 | 2 |
| 3 debug("Test getting grid-definition-columns and grid-definition-rows set through CSS"); | 3 debug("Test getting grid-definition-columns and grid-definition-rows set through CSS"); |
| 4 testGridDefinitionsValues(document.getElementById("gridWithNoneElement"), "none" , "none"); | 4 testGridDefinitionsValues(document.getElementById("gridWithNoneElement"), "none" , "none"); |
| 5 testGridDefinitionsValues(document.getElementById("gridWithFixedElement"), "10px ", "15px"); | 5 testGridDefinitionsValues(document.getElementById("gridWithFixedElement"), "10px ", "15px"); |
| 6 testGridDefinitionsValues(document.getElementById("gridWithPercentElement"), "53 %", "27%"); | 6 testGridDefinitionsValues(document.getElementById("gridWithPercentElement"), "53 %", "27%"); |
| 7 testGridDefinitionsValues(document.getElementById("gridWithAutoElement"), "auto" , "auto"); | 7 testGridDefinitionsValues(document.getElementById("gridWithAutoElement"), "auto" , "auto"); |
| 8 testGridDefinitionsValues(document.getElementById("gridWithEMElement"), "100px", "150px"); | 8 testGridDefinitionsValues(document.getElementById("gridWithEMElement"), "100px", "150px"); |
| 9 testGridDefinitionsValues(document.getElementById("gridWithViewPortPercentageEle ment"), "64px", "60px"); | 9 testGridDefinitionsValues(document.getElementById("gridWithViewPortPercentageEle ment"), "64px", "60px"); |
| 10 testGridDefinitionsValues(document.getElementById("gridWithMinMax"), "minmax(10% , 15px)", "minmax(20px, 50%)"); | 10 testGridDefinitionsValues(document.getElementById("gridWithMinMax"), "minmax(10% , 15px)", "minmax(20px, 50%)"); |
| 11 testGridDefinitionsValues(document.getElementById("gridWithMinContent"), "min-co ntent", "min-content"); | 11 testGridDefinitionsValues(document.getElementById("gridWithMinContent"), "min-co ntent", "min-content"); |
| 12 testGridDefinitionsValues(document.getElementById("gridWithMaxContent"), "max-co ntent", "max-content"); | 12 testGridDefinitionsValues(document.getElementById("gridWithMaxContent"), "max-co ntent", "max-content"); |
| 13 testGridDefinitionsValues(document.getElementById("gridWithFraction"), "1fr", "2 fr"); | 13 testGridDefinitionsValues(document.getElementById("gridWithFraction"), "1fr", "2 fr"); |
| 14 testGridDefinitionsValues(document.getElementById("gridWithCalcElement"), "150px ", "75px"); | |
| 15 testGridDefinitionsValues(document.getElementById("gridWithCalcComplexElement"), "550px", "465px"); | |
| 16 testGridDefinitionsValues(document.getElementById("gridWithCalcInsideMinMaxEleme nt"), "minmax(10%, 15px)", "minmax(20px, 50%)"); | |
| 17 testGridDefinitionsValues(document.getElementById("gridWithCalcComplexInsideMinM axElement"), "minmax(10%, 415px)", "minmax(80px, 50%)"); | |
| 14 | 18 |
| 15 debug(""); | 19 debug(""); |
| 16 debug("Test getting wrong values for grid-definition-columns and grid-definition -rows through CSS (they should resolve to the default: 'none')"); | 20 debug("Test getting wrong values for grid-definition-columns and grid-definition -rows through CSS (they should resolve to the default: 'none')"); |
| 17 var gridWithFitContentElement = document.getElementById("gridWithFitContentEleme nt"); | 21 var gridWithFitContentElement = document.getElementById("gridWithFitContentEleme nt"); |
| 18 testGridDefinitionsValues(gridWithFitContentElement, "none", "none"); | 22 testGridDefinitionsValues(gridWithFitContentElement, "none", "none"); |
| 19 | 23 |
| 20 var gridWithFitAvailableElement = document.getElementById("gridWithFitAvailableE lement"); | 24 var gridWithFitAvailableElement = document.getElementById("gridWithFitAvailableE lement"); |
| 21 testGridDefinitionsValues(gridWithFitAvailableElement, "none", "none"); | 25 testGridDefinitionsValues(gridWithFitAvailableElement, "none", "none"); |
| 22 | 26 |
| 23 debug(""); | 27 debug(""); |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 45 testGridDefinitionsSetJSValues("minmax(22em, max-content)", "minmax(max-content, 5em)", "minmax(220px, max-content)", "minmax(max-content, 50px)"); | 49 testGridDefinitionsSetJSValues("minmax(22em, max-content)", "minmax(max-content, 5em)", "minmax(220px, max-content)", "minmax(max-content, 50px)"); |
| 46 testGridDefinitionsSetJSValues("minmax(min-content, max-content)", "minmax(max-c ontent, min-content)"); | 50 testGridDefinitionsSetJSValues("minmax(min-content, max-content)", "minmax(max-c ontent, min-content)"); |
| 47 // Unit comparison should be case-insensitive. | 51 // Unit comparison should be case-insensitive. |
| 48 testGridDefinitionsSetJSValues("3600Fr", "154fR", "3600fr", "154fr", "3600fr", " 154fr"); | 52 testGridDefinitionsSetJSValues("3600Fr", "154fR", "3600fr", "154fr", "3600fr", " 154fr"); |
| 49 // Float values are allowed. | 53 // Float values are allowed. |
| 50 testGridDefinitionsSetJSValues("3.1459fr", "2.718fr"); | 54 testGridDefinitionsSetJSValues("3.1459fr", "2.718fr"); |
| 51 // A leading '+' is allowed. | 55 // A leading '+' is allowed. |
| 52 testGridDefinitionsSetJSValues("+3fr", "+4fr", "3fr", "4fr", "3fr", "4fr"); | 56 testGridDefinitionsSetJSValues("+3fr", "+4fr", "3fr", "4fr", "3fr", "4fr"); |
| 53 | 57 |
| 54 debug(""); | 58 debug(""); |
| 59 debug("Test getting and setting grid-definition-columns and grid-definition-rows to calc() values through JS"); | |
| 60 testGridDefinitionsSetJSValues("calc(150px)", "calc(75px)", "150px", "75px"); | |
| 61 testGridDefinitionsSetJSValues("calc(50% - 30px)", "calc(75px + 10%)", "370px", "135px"); | |
| 62 testGridDefinitionsSetJSValues("minmax(25%, calc(30px))", "minmax(calc(75%), 40p x)", "minmax(25%, 30px)", "minmax(75%, 40px)"); | |
|
Julien - ping for review
2013/09/24 19:09:16
The expected results are actually wrong here. We s
svillar
2013/09/25 08:31:45
Yes you're right, but I decided not to add those F
| |
| 63 testGridDefinitionsSetJSValues("minmax(10%, calc(30px + 10%))", "minmax(calc(25% - 50px), 200px)", "minmax(10%, 110px)", "minmax(100px, 200px)"); | |
| 64 | |
| 65 debug(""); | |
| 55 debug("Test setting grid-definition-columns and grid-definition-rows to bad valu es through JS"); | 66 debug("Test setting grid-definition-columns and grid-definition-rows to bad valu es through JS"); |
| 56 // No comma and only 1 argument provided. | 67 // No comma and only 1 argument provided. |
| 57 testGridDefinitionsSetBadJSValues("minmax(10px 20px)", "minmax(10px)") | 68 testGridDefinitionsSetBadJSValues("minmax(10px 20px)", "minmax(10px)") |
| 58 // Nested minmax and only 2 arguments are allowed. | 69 // Nested minmax and only 2 arguments are allowed. |
| 59 testGridDefinitionsSetBadJSValues("minmax(minmax(10px, 20px), 20px)", "minmax(10 px, 20px, 30px)"); | 70 testGridDefinitionsSetBadJSValues("minmax(minmax(10px, 20px), 20px)", "minmax(10 px, 20px, 30px)"); |
| 60 // No breadth value and no comma. | 71 // No breadth value and no comma. |
| 61 testGridDefinitionsSetBadJSValues("minmax()", "minmax(30px 30% 30em)"); | 72 testGridDefinitionsSetBadJSValues("minmax()", "minmax(30px 30% 30em)"); |
| 62 // Auto is not allowed inside minmax. | 73 // Auto is not allowed inside minmax. |
| 63 testGridDefinitionsSetBadJSValues("minmax(auto, 8vh)", "minmax(10vw, auto)"); | 74 testGridDefinitionsSetBadJSValues("minmax(auto, 8vh)", "minmax(10vw, auto)"); |
| 64 testGridDefinitionsSetBadJSValues("-2fr", "3ffr"); | 75 testGridDefinitionsSetBadJSValues("-2fr", "3ffr"); |
| 65 testGridDefinitionsSetBadJSValues("-2.05fr", "+-3fr"); | 76 testGridDefinitionsSetBadJSValues("-2.05fr", "+-3fr"); |
| 66 testGridDefinitionsSetBadJSValues("0fr", "1r"); | 77 testGridDefinitionsSetBadJSValues("0fr", "1r"); |
| 67 // A dimension doesn't allow spaces between the number and the unit. | 78 // A dimension doesn't allow spaces between the number and the unit. |
| 68 testGridDefinitionsSetBadJSValues(".0000fr", "13 fr"); | 79 testGridDefinitionsSetBadJSValues(".0000fr", "13 fr"); |
| 69 testGridDefinitionsSetBadJSValues("7.-fr", "-8,0fr"); | 80 testGridDefinitionsSetBadJSValues("7.-fr", "-8,0fr"); |
| 70 // Negative values are not allowed. | 81 // Negative values are not allowed. |
| 71 testGridDefinitionsSetBadJSValues("-1px", "-6em"); | 82 testGridDefinitionsSetBadJSValues("-1px", "-6em"); |
| 72 testGridDefinitionsSetBadJSValues("minmax(-1%, 32%)", "minmax(2vw, -6em)"); | 83 testGridDefinitionsSetBadJSValues("minmax(-1%, 32%)", "minmax(2vw, -6em)"); |
| 84 // Invalid expressions with calc | |
| 85 testGridDefinitionsSetBadJSValues("calc(16px 30px)", "calc(25px + auto)"); | |
| 86 testGridDefinitionsSetBadJSValues("minmax(min-content, calc())", "calc(10%("); | |
| 87 testGridDefinitionsSetBadJSValues("calc(2px = 2px)", "calc(2fr + 10%)"); | |
| 73 | 88 |
| 74 debug(""); | 89 debug(""); |
| 75 debug("Test setting grid-definition-columns and grid-definition-rows back to 'no ne' through JS"); | 90 debug("Test setting grid-definition-columns and grid-definition-rows back to 'no ne' through JS"); |
| 76 testGridDefinitionsSetJSValues("18px", "66px"); | 91 testGridDefinitionsSetJSValues("18px", "66px"); |
| 77 testGridDefinitionsSetJSValues("none", "none"); | 92 testGridDefinitionsSetJSValues("none", "none"); |
| 78 | 93 |
| 79 function testInherit() | 94 function testInherit() |
| 80 { | 95 { |
| 81 var parentElement = document.createElement("div"); | 96 var parentElement = document.createElement("div"); |
| 82 document.body.appendChild(parentElement); | 97 document.body.appendChild(parentElement); |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 108 element.style.gridDefinitionColumns = "initial"; | 123 element.style.gridDefinitionColumns = "initial"; |
| 109 element.style.gridDefinitionRows = "initial"; | 124 element.style.gridDefinitionRows = "initial"; |
| 110 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-co lumns')", "'none'"); | 125 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-co lumns')", "'none'"); |
| 111 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-ro ws')", "'none'"); | 126 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-ro ws')", "'none'"); |
| 112 | 127 |
| 113 document.body.removeChild(element); | 128 document.body.removeChild(element); |
| 114 } | 129 } |
| 115 debug(""); | 130 debug(""); |
| 116 debug("Test setting grid-definition-columns and grid-definition-rows to 'initial ' through JS"); | 131 debug("Test setting grid-definition-columns and grid-definition-rows to 'initial ' through JS"); |
| 117 testInitial(); | 132 testInitial(); |
| OLD | NEW |