Test that setting and getting grid-template-columns and grid-template-rows with repeat() 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(singleSingleTrackRepeat, '').getPropertyValue('grid-template-columns') is "repeat(1, 15%)"
PASS window.getComputedStyle(singleSingleTrackRepeat, '').getPropertyValue('grid-template-rows') is "repeat(1, 18px)"
PASS window.getComputedStyle(twoSingleTrackRepeat, '').getPropertyValue('grid-template-columns') is "repeat(2, minmax(15px, 50%))"
PASS window.getComputedStyle(twoSingleTrackRepeat, '').getPropertyValue('grid-template-rows') is "repeat(2, auto)"
PASS window.getComputedStyle(twoDoubleTrackRepeat, '').getPropertyValue('grid-template-columns') is "repeat(2, auto minmax(100px, 120px))"
PASS window.getComputedStyle(twoDoubleTrackRepeat, '').getPropertyValue('grid-template-rows') is "repeat(2, minmax(5px, 10px) auto)"
PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLineRepeat, '').getPropertyValue('grid-template-columns') is "repeat(2, auto [middle] 250px [end])"
PASS window.getComputedStyle(twoDoubleTrackWithNamedGridLineRepeat, '').getPropertyValue('grid-template-rows') is "repeat(2, 10px [start] auto [end])"
PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepeat, '').getPropertyValue('grid-template-columns') is "repeat(2, [before] auto)"
PASS window.getComputedStyle(twoDoubleTrackWithTrailingNamedGridLineRepeat, '').getPropertyValue('grid-template-rows') is "repeat(2, [before] 10px)"
PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropertyValue('grid-template-columns') is "repeat(1, 250px) [end]"
PASS window.getComputedStyle(trailingNamedGridLineRepeat, '').getPropertyValue('grid-template-rows') is "repeat(1, 10px) [end]"
PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getPropertyValue('grid-template-columns') is "[start] repeat(2, 250px)"
PASS window.getComputedStyle(leadingNamedGridLineRepeat, '').getPropertyValue('grid-template-rows') is "[start] repeat(2, 10px)"
PASS window.getComputedStyle(mixRepeatAfterNonRepeat, '').getPropertyValue('grid-template-columns') is "[start] 140px repeat(2, 250px)"
PASS window.getComputedStyle(mixRepeatAfterNonRepeat, '').getPropertyValue('grid-template-rows') is "auto repeat(2, 10px)"
PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').getPropertyValue('grid-template-columns') is "repeat(2, 250px) 15% [last]"
PASS window.getComputedStyle(mixNonRepeatAfterRepeat, '').getPropertyValue('grid-template-rows') is "repeat(2, 10px) [end] auto"

Test invalid repeat syntax.
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS window.getComputedStyle(element, '').getPropertyValue('grid-template-columns') is "none"
PASS successfullyParsed is true

TEST COMPLETE

