Test the parsing and application of the scroll-snap-* properties. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Test case: inherited type PASS style.scrollSnapType is "mandatory" Test case: initial type PASS style.scrollSnapType is "none" Test case: inherited points-x PASS style.scrollSnapPointsX is "repeat(20%)" Test case: initial points-x PASS style.scrollSnapPointsX is "none" Test case: inherited points-y PASS style.scrollSnapPointsY is "repeat(20%)" Test case: initial points-y PASS style.scrollSnapPointsY is "none" Test case: inherited destination PASS style.scrollSnapDestination is "20px 20px" Test case: initial destination PASS style.scrollSnapDestination is "0px 0px" Test case: inherited coordinate PASS style.scrollSnapCoordinate is "10px 10px" Test case: initial coordinate PASS style.scrollSnapCoordinate is "none" Test case: mandatory type PASS style.scrollSnapType is "mandatory" Test case: proximity type PASS style.scrollSnapType is "proximity" Test case: none type PASS style.scrollSnapType is "none" Test case: percentage points repeat along x axis PASS style.scrollSnapPointsX is "repeat(100%)" Test case: pixel points repeat along x axis PASS style.scrollSnapPointsX is "repeat(25px)" Test case: percentage points repeat along y axis PASS style.scrollSnapPointsY is "repeat(100%)" Test case: pixel points repeat along y axis PASS style.scrollSnapPointsY is "repeat(25px)" Test case: calc repeat along y axis PASS style.scrollSnapPointsY is "repeat(calc(25px + 1%))" Test case: reject zero PASS style.scrollSnapPointsY is "none" Test case: reject negative PASS style.scrollSnapPointsY is "none" Test case: pixel/pixel destination PASS style.scrollSnapDestination is "10px 50px" Test case: pixel/percentage destination PASS style.scrollSnapDestination is "20px 40%" Test case: unitless/pixel destination PASS style.scrollSnapDestination is "0px 10px" Test case: percentage/pixel destination PASS style.scrollSnapDestination is "0% 0px" Test case: percentage/percentage destination PASS style.scrollSnapDestination is "5% 100%" Test case: calc/percentage destination PASS style.scrollSnapDestination is "calc(20px + 10%) 40%" Test case: 3 piece percentage destination PASS style.scrollSnapDestination is "0% 50%" Test case: 1 piece destination with implied center PASS style.scrollSnapDestination is "50% 0%" Test case: single pixel coordinate PASS style.scrollSnapCoordinate is "50px 100px" Test case: single percentage coordinate PASS style.scrollSnapCoordinate is "50% 100%" Test case: 3 piece percentage coordinate PASS style.scrollSnapCoordinate is "0% 50%" Test case: 4 piece pixel coordinate PASS style.scrollSnapCoordinate is "10px 15px" Test case: 1 piece coordinate with implied center PASS style.scrollSnapCoordinate is "0% 50%" Test case: multiple pixel coordinates PASS style.scrollSnapCoordinate is "50px 100px, 150px 100px, 200px 100px" Test case: multiple percentage coordinates PASS style.scrollSnapCoordinate is "50% 100%, 0% 100%, 200% 100%" Test case: multiple mixed pixel/percentage/calc coordinates PASS style.scrollSnapCoordinate is "calc(100px + 10%) 100%, 150% 50%, 200px calc(10px + 5%)" Test case: reject invalid position list PASS style.scrollSnapCoordinate is "none" Test case: reject invalid position separator PASS style.scrollSnapCoordinate is "none" Test case: reject invalid position with terminating comma PASS style.scrollSnapCoordinate is "none" PASS successfullyParsed is true TEST COMPLETE