Test that setting and getting grid-template-columns and grid-template-rows works as expected

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Test getting |grid-template-columns| and |grid-template-rows| set through CSS
PASS window.getComputedStyle(gridWithFixedElement, '').getPropertyValue('grid-template-columns') is "7px 11px"
PASS window.getComputedStyle(gridWithFixedElement, '').getPropertyValue('grid-template-rows') is "17px 2px"
PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValue('grid-template-columns') is "53% 99%"
PASS window.getComputedStyle(gridWithPercentElement, '').getPropertyValue('grid-template-rows') is "27% 52%"
PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('grid-template-columns') is "auto auto"
PASS window.getComputedStyle(gridWithAutoElement, '').getPropertyValue('grid-template-rows') is "auto auto"
PASS window.getComputedStyle(gridWithEMElement, '').getPropertyValue('grid-template-columns') is "100px 120px"
PASS window.getComputedStyle(gridWithEMElement, '').getPropertyValue('grid-template-rows') is "150px 170px"
PASS window.getComputedStyle(gridWithThreeItems, '').getPropertyValue('grid-template-columns') is "15px auto 100px"
PASS window.getComputedStyle(gridWithThreeItems, '').getPropertyValue('grid-template-rows') is "120px 18px auto"
PASS window.getComputedStyle(gridWithPercentAndViewportPercent, '').getPropertyValue('grid-template-columns') is "50% 120px"
PASS window.getComputedStyle(gridWithPercentAndViewportPercent, '').getPropertyValue('grid-template-rows') is "35% 168px"
PASS window.getComputedStyle(gridWithFitContentAndFitAvailable, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(gridWithFitContentAndFitAvailable, '').getPropertyValue('grid-template-rows') is "none"
PASS window.getComputedStyle(gridWithMinMaxContent, '').getPropertyValue('grid-template-columns') is "min-content max-content"
PASS window.getComputedStyle(gridWithMinMaxContent, '').getPropertyValue('grid-template-rows') is "max-content min-content"
PASS window.getComputedStyle(gridWithMinMaxAndFixed, '').getPropertyValue('grid-template-columns') is "minmax(45px, 30%) 15px"
PASS window.getComputedStyle(gridWithMinMaxAndFixed, '').getPropertyValue('grid-template-rows') is "120px minmax(35%, 10px)"
PASS window.getComputedStyle(gridWithMinMaxAndMinMaxContent, '').getPropertyValue('grid-template-columns') is "minmax(min-content, 30%) 15px"
PASS window.getComputedStyle(gridWithMinMaxAndMinMaxContent, '').getPropertyValue('grid-template-rows') is "120px minmax(35%, max-content)"
PASS window.getComputedStyle(gridWithFractionFraction, '').getPropertyValue('grid-template-columns') is "1fr 2fr"
PASS window.getComputedStyle(gridWithFractionFraction, '').getPropertyValue('grid-template-rows') is "3fr 4fr"
PASS window.getComputedStyle(gridWithFractionMinMax, '').getPropertyValue('grid-template-columns') is "minmax(min-content, 45px) 2fr"
PASS window.getComputedStyle(gridWithFractionMinMax, '').getPropertyValue('grid-template-rows') is "3fr minmax(14px, max-content)"
PASS window.getComputedStyle(gridWithCalcCalc, '').getPropertyValue('grid-template-columns') is "200px 100px"
PASS window.getComputedStyle(gridWithCalcCalc, '').getPropertyValue('grid-template-rows') is "150px 75px"
PASS window.getComputedStyle(gridWithCalcAndFixed, '').getPropertyValue('grid-template-columns') is "50% 80px"
PASS window.getComputedStyle(gridWithCalcAndFixed, '').getPropertyValue('grid-template-rows') is "88px 25%"
PASS window.getComputedStyle(gridWithCalcAndMinMax, '').getPropertyValue('grid-template-columns') is "calc(30px + 20%) minmax(min-content, 80px)"
PASS window.getComputedStyle(gridWithCalcAndMinMax, '').getPropertyValue('grid-template-rows') is "minmax(25%, max-content) calc(10% - 7px)"
PASS window.getComputedStyle(gridWithCalcInsideMinMax, '').getPropertyValue('grid-template-columns') is "minmax(calc(23px + 10%), 400px) 120px"
PASS window.getComputedStyle(gridWithCalcInsideMinMax, '').getPropertyValue('grid-template-rows') is "150px minmax(5%, calc(50% - 125px))"
PASS window.getComputedStyle(gridWithAutoInsideMinMax, '').getPropertyValue('grid-template-columns') is "minmax(auto, 20px) 10%"
PASS window.getComputedStyle(gridWithAutoInsideMinMax, '').getPropertyValue('grid-template-rows') is "max-content minmax(min-content, auto)"

Test the initial value
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is 'none'
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is 'none'

Test getting and setting grid-template-rows and grid-template-columns through JS
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "18px 22px"
PASS element.style.gridTemplateColumns is "18px 22px"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "66px 70px"
PASS element.style.gridTemplateRows is "66px 70px"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "55% 80%"
PASS element.style.gridTemplateColumns is "55% 80%"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "40% 63%"
PASS element.style.gridTemplateRows is "40% 63%"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "auto auto"
PASS element.style.gridTemplateColumns is "auto auto"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "auto auto"
PASS element.style.gridTemplateRows is "auto auto"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "auto 160px 22px"
PASS element.style.gridTemplateColumns is "auto 16em 22px"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "56% 100px auto"
PASS element.style.gridTemplateRows is "56% 10em auto"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "160px minmax(16px, 20px)"
PASS element.style.gridTemplateColumns is "16em minmax(16px, 20px)"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "minmax(10%, 15%) auto"
PASS element.style.gridTemplateRows is "minmax(10%, 15%) auto"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "160px 2fr"
PASS element.style.gridTemplateColumns is "16em 2fr"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "14fr auto"
PASS element.style.gridTemplateRows is "14fr auto"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "50% 96px"
PASS element.style.gridTemplateColumns is "50% 12vw"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "5% 510px"
PASS element.style.gridTemplateRows is "5% 85vh"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "auto minmax(16px, auto)"
PASS element.style.gridTemplateColumns is "auto minmax(16px, auto)"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "minmax(auto, 15%) 80px"
PASS element.style.gridTemplateRows is "minmax(auto, 15%) 10vw"

Test getting wrong values set from CSS
PASS getComputedStyle(gridWithNoneAndAuto, '').getPropertyValue('grid-template-columns') is 'none'
PASS getComputedStyle(gridWithNoneAndAuto, '').getPropertyValue('grid-template-rows') is 'none'
PASS getComputedStyle(gridWithNoneAndFixed, '').getPropertyValue('grid-template-columns') is 'none'
PASS getComputedStyle(gridWithNoneAndFixed, '').getPropertyValue('grid-template-rows') is 'none'

Test setting and getting wrong values from JS
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "none"

Test setting grid-template-columns and grid-template-rows to 'inherit' through JS
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "50px 1fr [last]"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "101% [middle] 45px"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "50px 1fr [last]"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "101% [middle] 45px"

Test setting grid-template-columns and grid-template-rows to 'initial' through JS
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "150% [middle] 55px"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-rows') is "1fr [line] 2fr [line]"
PASS getComputedStyle(element, '').getPropertyValue('grid-template-columns') is 'none'
PASS getComputedStyle(element, '').getPropertyValue('grid-template-rows') is 'none'
PASS successfullyParsed is true

TEST COMPLETE

