blob: 31bb43db71d23e3369bee4b73baa5d825c0a12ee [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../fast/js/resources/js-test-pre.js"></script>
</head>
<body>
<div id="flexbox">
<div id="flexitem"></div>
</div>
<script>
description('Tests the interaction between the -webkit-flex shorthand propery and the -webkit-flex-grow, -webkit-flex-shrink, and -webkit-flex-basis longhand properties.');
var flexitem = document.getElementById("flexitem");
// Test default value.
shouldBeEqualToString('flexitem.style.webkitFlex', '');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 auto');
flexitem.style.webkitFlexGrow = 2;
shouldBeEqualToString('flexitem.style.webkitFlexGrow', '2');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlexGrow', '2');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '2 1 auto');
flexitem.style.webkitFlexShrink = 3;
shouldBeEqualToString('flexitem.style.webkitFlexShrink', '3');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlexShrink', '3');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '2 3 auto');
flexitem.style.webkitFlexBasis = 0;
shouldBeEqualToString('flexitem.style.webkitFlexBasis', '0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlexBasis', '0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '2 3 0px');
flexitem.style.webkitFlexShrink = 0;
shouldBeEqualToString('flexitem.style.webkitFlexShrink', '0');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '2 0 0px');
flexitem.style.webkitFlexBasis = '50%';
shouldBeEqualToString('flexitem.style.webkitFlexBasis', '50%');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlexBasis', '50%');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '2 0 50%');
flexitem.style.webkitFlexBasis = 'auto';
shouldBeEqualToString('flexitem.style.webkitFlexBasis', 'auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '2 0 auto');
flexitem.style.webkitFlex = 'none';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('flexitem.style.webkitFlexGrow', '0');
shouldBeEqualToString('flexitem.style.webkitFlexShrink', '0');
shouldBeEqualToString('flexitem.style.webkitFlexBasis', 'auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlexGrow = 1.5;
shouldBeEqualToString('flexitem.style.webkitFlex', '1.5 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1.5 0 auto');
flexitem.style.webkitFlex = 3;
shouldBeEqualToString('flexitem.style.webkitFlex', '3 1 0px');
shouldBeEqualToString('flexitem.style.webkitFlexGrow', '3');
shouldBeEqualToString('flexitem.style.webkitFlexShrink', '1');
shouldBeEqualToString('flexitem.style.webkitFlexBasis', '0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '3 1 0px');
</script>
<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>