<!DOCTYPE html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body>
<div id="flexbox">
    <div id="flexitem"></div>
</div>
<script>
description('Tests the interaction between the flex shorthand propery and the flex-grow, flex-shrink, and flex-basis longhand properties.');

var flexitem = document.getElementById("flexitem");

// Test default value.
shouldBeEqualToString('flexitem.style.flex', '');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '0 1 auto');

flexitem.style.flexGrow = 2;
shouldBeEqualToString('flexitem.style.flexGrow', '2');
shouldBeEqualToString('getComputedStyle(flexitem).flexGrow', '2');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '2 1 auto');

flexitem.style.flexShrink = 3;
shouldBeEqualToString('flexitem.style.flexShrink', '3');
shouldBeEqualToString('getComputedStyle(flexitem).flexShrink', '3');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '2 3 auto');

flexitem.style.flexBasis = 0;
shouldBeEqualToString('flexitem.style.flexBasis', '0px');
shouldBeEqualToString('getComputedStyle(flexitem).flexBasis', '0px');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '2 3 0px');

flexitem.style.flexShrink = 0;
shouldBeEqualToString('flexitem.style.flexShrink', '0');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '2 0 0px');

flexitem.style.flexBasis = '50%';
shouldBeEqualToString('flexitem.style.flexBasis', '50%');
shouldBeEqualToString('getComputedStyle(flexitem).flexBasis', '50%');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '2 0 50%');

flexitem.style.flexBasis = 'auto';
shouldBeEqualToString('flexitem.style.flexBasis', 'auto');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '2 0 auto');

flexitem.style.flex = 'none';
shouldBeEqualToString('flexitem.style.flex', '0 0 auto');
shouldBeEqualToString('flexitem.style.flexGrow', '0');
shouldBeEqualToString('flexitem.style.flexShrink', '0');
shouldBeEqualToString('flexitem.style.flexBasis', 'auto');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '0 0 auto');

flexitem.style.flexGrow = 1.5;
shouldBeEqualToString('flexitem.style.flex', '1.5 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '1.5 0 auto');

flexitem.style.flex = 3;
shouldBeEqualToString('flexitem.style.flex', '3 1 0%');
shouldBeEqualToString('flexitem.style.flexGrow', '3');
shouldBeEqualToString('flexitem.style.flexShrink', '1');
shouldBeEqualToString('flexitem.style.flexBasis', '0%');
shouldBeEqualToString('getComputedStyle(flexitem).flex', '3 1 0%');

</script>
</body>
</html>
