Test overwriting justify-self and align-self works as expected

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


PASS getComputedStyle(parent, '').getPropertyValue('justify-items') is "center"
PASS getComputedStyle(parent, '').getPropertyValue('align-items') is "stretch"
PASS getComputedStyle(childOfDefaultParent, '').getPropertyValue('justify-self') is "unsafe flex-end"
PASS getComputedStyle(childOfDefaultParent, '').getPropertyValue('align-self') is "safe flex-start"
PASS getComputedStyle(childOfParentId, '').getPropertyValue('justify-self') is "center"
PASS getComputedStyle(childOfParentId, '').getPropertyValue('align-self') is "stretch"
PASS successfullyParsed is true

TEST COMPLETE

