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

