Tests the interaction between the flex shorthand propery and the flex-grow, flex-shrink, and flex-basis longhand properties.

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


PASS flexitem.style.flex is ""
PASS getComputedStyle(flexitem).flex is "0 1 auto"
PASS flexitem.style.flexGrow is "2"
PASS getComputedStyle(flexitem).flexGrow is "2"
PASS getComputedStyle(flexitem).flex is "2 1 auto"
PASS flexitem.style.flexShrink is "3"
PASS getComputedStyle(flexitem).flexShrink is "3"
PASS getComputedStyle(flexitem).flex is "2 3 auto"
PASS flexitem.style.flexBasis is "0px"
PASS getComputedStyle(flexitem).flexBasis is "0px"
PASS getComputedStyle(flexitem).flex is "2 3 0px"
PASS flexitem.style.flexShrink is "0"
PASS getComputedStyle(flexitem).flex is "2 0 0px"
PASS flexitem.style.flexBasis is "50%"
PASS getComputedStyle(flexitem).flexBasis is "50%"
PASS getComputedStyle(flexitem).flex is "2 0 50%"
PASS flexitem.style.flexBasis is "auto"
PASS getComputedStyle(flexitem).flex is "2 0 auto"
PASS flexitem.style.flex is "0 0 auto"
PASS flexitem.style.flexGrow is "0"
PASS flexitem.style.flexShrink is "0"
PASS flexitem.style.flexBasis is "auto"
PASS getComputedStyle(flexitem).flex is "0 0 auto"
PASS flexitem.style.flex is "1.5 0 auto"
PASS getComputedStyle(flexitem).flex is "1.5 0 auto"
PASS flexitem.style.flex is "3 1 0%"
PASS flexitem.style.flexGrow is "3"
PASS flexitem.style.flexShrink is "1"
PASS flexitem.style.flexBasis is "0%"
PASS getComputedStyle(flexitem).flex is "3 1 0%"
PASS successfullyParsed is true

TEST COMPLETE

