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

Side by Side Diff: LayoutTests/fast/css-grid-layout/resources/grid-columns-rows-get-set-multiple.js

Issue 23472008: [CSS Grid Layout] Support calc() breadth track size (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@103761-wk
Patch Set: Patch for landing Created 7 years, 1 month 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 unified diff | Download patch
OLDNEW
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 thr ough CSS"); 3 debug("Test getting |grid-definition-columns| and |grid-definition-rows| set thr ough CSS");
4 testGridDefinitionsValues(document.getElementById("gridWithFixedElement"), "7px 11px", "17px 2px"); 4 testGridDefinitionsValues(document.getElementById("gridWithFixedElement"), "7px 11px", "17px 2px");
5 testGridDefinitionsValues(document.getElementById("gridWithPercentElement"), "53 % 99%", "27% 52%", "424px 792px", "162px 312px"); 5 testGridDefinitionsValues(document.getElementById("gridWithPercentElement"), "53 % 99%", "27% 52%", "424px 792px", "162px 312px");
6 testGridDefinitionsValues(document.getElementById("gridWithAutoElement"), "auto auto", "auto auto", "0px 17px", "0px 3px"); 6 testGridDefinitionsValues(document.getElementById("gridWithAutoElement"), "auto auto", "auto auto", "0px 17px", "0px 3px");
7 testGridDefinitionsValues(document.getElementById("gridWithEMElement"), "100px 1 20px", "150px 170px"); 7 testGridDefinitionsValues(document.getElementById("gridWithEMElement"), "100px 1 20px", "150px 170px");
8 testGridDefinitionsValues(document.getElementById("gridWithThreeItems"), "15px a uto 100px", "120px 18px auto", "15px 0px 100px", "120px 18px 0px"); 8 testGridDefinitionsValues(document.getElementById("gridWithThreeItems"), "15px a uto 100px", "120px 18px auto", "15px 0px 100px", "120px 18px 0px");
9 testGridDefinitionsValues(document.getElementById("gridWithPercentAndViewportPer cent"), "50% 120px", "35% 168px", "400px 120px", "210px 168px"); 9 testGridDefinitionsValues(document.getElementById("gridWithPercentAndViewportPer cent"), "50% 120px", "35% 168px", "400px 120px", "210px 168px");
10 testGridDefinitionsValues(document.getElementById("gridWithFitContentAndFitAvail able"), "none", "none"); 10 testGridDefinitionsValues(document.getElementById("gridWithFitContentAndFitAvail able"), "none", "none");
11 testGridDefinitionsValues(document.getElementById("gridWithMinMaxContent"), "min -content max-content", "max-content min-content", "0px 0px", "0px 0px"); 11 testGridDefinitionsValues(document.getElementById("gridWithMinMaxContent"), "min -content max-content", "max-content min-content", "0px 0px", "0px 0px");
12 testGridDefinitionsValues(document.getElementById("gridWithMinMaxContentWithChil drenElement"), "min-content max-content", "max-content min-content", "7px 17px", "11px 3px"); 12 testGridDefinitionsValues(document.getElementById("gridWithMinMaxContentWithChil drenElement"), "min-content max-content", "max-content min-content", "7px 17px", "11px 3px");
13 testGridDefinitionsValues(document.getElementById("gridWithMinMaxAndFixed"), "mi nmax(45px, 30%) 15px", "120px minmax(35%, 10px)", "240px 15px", "120px 210px"); 13 testGridDefinitionsValues(document.getElementById("gridWithMinMaxAndFixed"), "mi nmax(45px, 30%) 15px", "120px minmax(35%, 10px)", "240px 15px", "120px 210px");
14 testGridDefinitionsValues(document.getElementById("gridWithMinMaxAndMinMaxConten t"), "minmax(min-content, 30%) 15px", "120px minmax(35%, max-content)", "240px 1 5px", "120px 210px"); 14 testGridDefinitionsValues(document.getElementById("gridWithMinMaxAndMinMaxConten t"), "minmax(min-content, 30%) 15px", "120px minmax(35%, max-content)", "240px 1 5px", "120px 210px");
15 testGridDefinitionsValues(document.getElementById("gridWithFractionFraction"), " 1fr 2fr", "3fr 4fr", "320px 480px", "225px 375px"); 15 testGridDefinitionsValues(document.getElementById("gridWithFractionFraction"), " 1fr 2fr", "3fr 4fr", "320px 480px", "225px 375px");
16 testGridDefinitionsValues(document.getElementById("gridWithFractionMinMax"), "mi nmax(min-content, 45px) 2fr", "3fr minmax(14px, max-content)", "45px 755px", "58 6px 14px"); 16 testGridDefinitionsValues(document.getElementById("gridWithFractionMinMax"), "mi nmax(min-content, 45px) 2fr", "3fr minmax(14px, max-content)", "45px 755px", "58 6px 14px");
17 testGridDefinitionsValues(document.getElementById("gridWithCalcCalc"), "200px 10 0px", "150px 75px");
18 testGridDefinitionsValues(document.getElementById("gridWithCalcAndFixed"), "50% 80px", "88px 25%", "400px 80px", "88px 150px");
19 testGridDefinitionsValues(document.getElementById("gridWithCalcAndMinMax"), "190 px minmax(min-content, 80px)", "minmax(25%, max-content) 53px", "190px 80px", "1 50px 53px");
20 testGridDefinitionsValues(document.getElementById("gridWithCalcInsideMinMax"), " minmax(103px, 400px) 120px", "150px minmax(5%, 175px)", "400px 120px", "150px 17 5px");
17 21
18 debug(""); 22 debug("");
19 debug("Test the initial value"); 23 debug("Test the initial value");
20 var element = document.createElement("div"); 24 var element = document.createElement("div");
21 document.body.appendChild(element); 25 document.body.appendChild(element);
22 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-column s')", "'none'"); 26 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-column s')", "'none'");
23 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-rows') ", "'none'"); 27 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-rows') ", "'none'");
24 28
25 debug(""); 29 debug("");
26 debug("Test getting and setting grid-definition-rows and grid-definition-columns through JS"); 30 debug("Test getting and setting grid-definition-rows and grid-definition-columns through JS");
27 testGridDefinitionsSetJSValues("18px 22px", "66px 70px"); 31 testGridDefinitionsSetJSValues("18px 22px", "66px 70px");
28 testGridDefinitionsSetJSValues("55% 80%", "40% 63%", "440px 640px", "240px 378px "); 32 testGridDefinitionsSetJSValues("55% 80%", "40% 63%", "440px 640px", "240px 378px ");
29 testGridDefinitionsSetJSValues("auto auto", "auto auto", "0px 0px", "0px 0px"); 33 testGridDefinitionsSetJSValues("auto auto", "auto auto", "0px 0px", "0px 0px");
30 testGridDefinitionsSetJSValues("auto 16em 22px", "56% 10em auto", "0px 160px 22p x", "336px 100px 0px"); 34 testGridDefinitionsSetJSValues("auto 16em 22px", "56% 10em auto", "0px 160px 22p x", "336px 100px 0px");
31 testGridDefinitionsSetJSValues("16em minmax(16px, 20px)", "minmax(10%, 15%) auto ", "160px 20px", "90px 0px"); 35 testGridDefinitionsSetJSValues("16em minmax(16px, 20px)", "minmax(10%, 15%) auto ", "160px 20px", "90px 0px");
32 testGridDefinitionsSetJSValues("16em 2fr", "14fr auto", "160px 640px", "600px 0p x"); 36 testGridDefinitionsSetJSValues("16em 2fr", "14fr auto", "160px 640px", "600px 0p x");
33 testGridDefinitionsSetJSValues("50% 12vw", "5% 85vh", "400px 96px", "30px 510px" ); 37 testGridDefinitionsSetJSValues("50% 12vw", "5% 85vh", "400px 96px", "30px 510px" );
38 testGridDefinitionsSetJSValues("calc(25px) calc(2em)", "auto calc(10%)", "25px 2 0px", "0px 60px", "calc(25px) calc(2em)", "auto calc(10%)");
39 testGridDefinitionsSetJSValues("calc(25px + 40%) minmax(min-content, calc(10% + 12px))", "minmax(calc(75% - 350px), max-content) auto", "345px 92px", "100px 0px ", "calc(25px + 40%) minmax(min-content, calc(10% + 12px))", "minmax(calc(75% - 350px), max-content) auto");
34 40
35 debug(""); 41 debug("");
36 debug("Test getting wrong values set from CSS"); 42 debug("Test getting wrong values set from CSS");
37 var gridWithNoneAndAuto = document.getElementById("gridWithNoneAndAuto"); 43 var gridWithNoneAndAuto = document.getElementById("gridWithNoneAndAuto");
38 shouldBe("getComputedStyle(gridWithNoneAndAuto, '').getPropertyValue('grid-defin ition-columns')", "'none'"); 44 shouldBe("getComputedStyle(gridWithNoneAndAuto, '').getPropertyValue('grid-defin ition-columns')", "'none'");
39 shouldBe("getComputedStyle(gridWithNoneAndAuto, '').getPropertyValue('grid-defin ition-rows')", "'none'"); 45 shouldBe("getComputedStyle(gridWithNoneAndAuto, '').getPropertyValue('grid-defin ition-rows')", "'none'");
40 46
41 var gridWithNoneAndFixed = document.getElementById("gridWithNoneAndFixed"); 47 var gridWithNoneAndFixed = document.getElementById("gridWithNoneAndFixed");
42 shouldBe("getComputedStyle(gridWithNoneAndFixed, '').getPropertyValue('grid-defi nition-columns')", "'none'"); 48 shouldBe("getComputedStyle(gridWithNoneAndFixed, '').getPropertyValue('grid-defi nition-columns')", "'none'");
43 shouldBe("getComputedStyle(gridWithNoneAndFixed, '').getPropertyValue('grid-defi nition-rows')", "'none'"); 49 shouldBe("getComputedStyle(gridWithNoneAndFixed, '').getPropertyValue('grid-defi nition-rows')", "'none'");
44 50
45 debug(""); 51 debug("");
46 debug("Test setting and getting wrong values from JS"); 52 debug("Test setting and getting wrong values from JS");
47 testGridDefinitionsSetBadJSValues("none auto", "none auto"); 53 testGridDefinitionsSetBadJSValues("none auto", "none auto");
48 testGridDefinitionsSetBadJSValues("none 16em", "none 56%"); 54 testGridDefinitionsSetBadJSValues("none 16em", "none 56%");
49 testGridDefinitionsSetBadJSValues("none none", "none none"); 55 testGridDefinitionsSetBadJSValues("none none", "none none");
50 testGridDefinitionsSetBadJSValues("auto none", "auto none"); 56 testGridDefinitionsSetBadJSValues("auto none", "auto none");
51 testGridDefinitionsSetBadJSValues("auto none 16em", "auto 18em none"); 57 testGridDefinitionsSetBadJSValues("auto none 16em", "auto 18em none");
52 testGridDefinitionsSetBadJSValues("-webkit-fit-content -webkit-fit-content", "-w ebkit-fit-available -webkit-fit-available"); 58 testGridDefinitionsSetBadJSValues("-webkit-fit-content -webkit-fit-content", "-w ebkit-fit-available -webkit-fit-available");
53 testGridDefinitionsSetBadJSValues("auto minmax(16px, auto)", "minmax(auto, 15%) 10vw"); 59 testGridDefinitionsSetBadJSValues("auto minmax(16px, auto)", "minmax(auto, 15%) 10vw");
54 // Negative values are not allowed. 60 // Negative values are not allowed.
55 testGridDefinitionsSetBadJSValues("-10px minmax(16px, 32px)", "minmax(10%, 15%) -10vw"); 61 testGridDefinitionsSetBadJSValues("-10px minmax(16px, 32px)", "minmax(10%, 15%) -10vw");
56 testGridDefinitionsSetBadJSValues("10px minmax(16px, -1vw)", "minmax(-1%, 15%) 1 0vw"); 62 testGridDefinitionsSetBadJSValues("10px minmax(16px, -1vw)", "minmax(-1%, 15%) 1 0vw");
63 // Invalid expressions with calc
64 testGridDefinitionsSetBadJSValues("10px calc(16px 30px)", "calc(25px + auto) 2em ");
65 testGridDefinitionsSetBadJSValues("minmax(min-content, calc() 250px", "calc(2em( ");
57 66
58 function testInherit() 67 function testInherit()
59 { 68 {
60 var parentElement = document.createElement("div"); 69 var parentElement = document.createElement("div");
61 document.body.appendChild(parentElement); 70 document.body.appendChild(parentElement);
62 parentElement.style.display = "grid"; 71 parentElement.style.display = "grid";
63 parentElement.style.width = "800px"; 72 parentElement.style.width = "800px";
64 parentElement.style.height = "600px"; 73 parentElement.style.height = "600px";
65 parentElement.style.font = "10px Ahem"; // Used to resolve em font consisten tly. 74 parentElement.style.font = "10px Ahem"; // Used to resolve em font consisten tly.
66 parentElement.style.gridDefinitionColumns = "50px 1fr 'last'"; 75 parentElement.style.gridDefinitionColumns = "50px 1fr 'last'";
(...skipping 27 matching lines...) Expand all
94 element.style.gridDefinitionColumns = "initial"; 103 element.style.gridDefinitionColumns = "initial";
95 element.style.gridDefinitionRows = "initial"; 104 element.style.gridDefinitionRows = "initial";
96 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-co lumns')", "'none'"); 105 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-co lumns')", "'none'");
97 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-ro ws')", "'none'"); 106 shouldBe("getComputedStyle(element, '').getPropertyValue('grid-definition-ro ws')", "'none'");
98 107
99 document.body.removeChild(element); 108 document.body.removeChild(element);
100 } 109 }
101 debug(""); 110 debug("");
102 debug("Test setting grid-definition-columns and grid-definition-rows to 'initial ' through JS"); 111 debug("Test setting grid-definition-columns and grid-definition-rows to 'initial ' through JS");
103 testInitial(); 112 testInitial();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698