blob: abb63247c61d3a0e4aabc54c551260628d11c013 [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 setting the -webkit-flex propery.');
var flexbox = document.getElementById("flexbox");
var flexitem = document.getElementById("flexitem");
// Test default value.
shouldBeEqualToString('flexitem.style.webkitFlex', '');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 auto');
// Should not inherit.
flexbox.style.webkitFlex = '1 2 3px';
shouldBeEqualToString('flexitem.style.webkitFlex', '');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 auto');
// Invalid value.
flexitem.style.webkitFlex = 'junk';
shouldBeEqualToString('flexitem.style.webkitFlex', '');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 auto');
flexitem.style.webkitFlex = '2';
shouldBeEqualToString('flexitem.style.webkitFlex', '2 1 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '2 1 0px');
flexitem.style.webkitFlex = '0';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 0px');
flexitem.style.webkitFlex = '1.5';
shouldBeEqualToString('flexitem.style.webkitFlex', '1.5 1 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1.5 1 0px');
flexitem.style.webkitFlex = 'auto';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 1 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 1 auto');
flexitem.style.webkitFlex = '1px';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 1 1px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 1 1px');
flexitem.style.webkitFlex = '2em';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 1 2em');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 1 32px');
flexitem.style.webkitFlex = '0px';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 1 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 1 0px');
flexitem.style.webkitFlex = 'none';
flexitem.style.webkitFlex = '-2'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0 0';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 0px');
flexitem.style.webkitFlex = '0 1';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 0px');
flexitem.style.webkitFlex = '1 0';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 0 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 0 0px');
flexitem.style.webkitFlex = '2 auto';
shouldBeEqualToString('flexitem.style.webkitFlex', '2 1 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '2 1 auto');
flexitem.style.webkitFlex = '3 4px';
shouldBeEqualToString('flexitem.style.webkitFlex', '3 1 4px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '3 1 4px');
flexitem.style.webkitFlex = 'auto 5.25';
shouldBeEqualToString('flexitem.style.webkitFlex', '5.25 1 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '5.25 1 auto');
flexitem.style.webkitFlex = '6em 4';
shouldBeEqualToString('flexitem.style.webkitFlex', '4 1 6em');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '4 1 96px');
flexitem.style.webkitFlex = '4 0px';
shouldBeEqualToString('flexitem.style.webkitFlex', '4 1 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '4 1 0px');
flexitem.style.webkitFlex = '0 0px';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 0px');
flexitem.style.webkitFlex = 'none';
flexitem.style.webkitFlex = '-1 5'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '1 -1'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '-1 -1'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = 'auto 2em'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '2px 4px'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0px 0px'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '1 2 0';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 2 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 2 0px');
flexitem.style.webkitFlex = '0 0 0';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 0px');
flexitem.style.webkitFlex = '1 2 auto';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 2 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 2 auto');
flexitem.style.webkitFlex = '1.75 2 3px';
shouldBeEqualToString('flexitem.style.webkitFlex', '1.75 2 3px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1.75 2 3px');
flexitem.style.webkitFlex = '1 3px 2';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 2 3px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 2 3px');
flexitem.style.webkitFlex = '3px 1 2';
shouldBeEqualToString('flexitem.style.webkitFlex', '1 2 3px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '1 2 3px');
flexitem.style.webkitFlex = 'auto 0 0';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = 'auto 0';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 auto');
flexitem.style.webkitFlex = 'auto 3';
shouldBeEqualToString('flexitem.style.webkitFlex', '3 1 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '3 1 auto');
flexitem.style.webkitFlex = '0px 0';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 1 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 0px');
flexitem.style.webkitFlex = '0 0px 0';
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 0px');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 0px');
flexitem.style.webkitFlex = 'none';
flexitem.style.webkitFlex = '1 2 3'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0 2 3'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '1 0 3'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0 0 1'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '1 -2 3px'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '1 2px 3px'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '1 2px auto'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0px 0px 0'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0 0 0 0'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0 0 0px 0'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0 0 0px 0px'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '0 0 0px 0'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '1, 2, 3px'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = '1,'; // Invalid, return previous value.
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
flexitem.style.webkitFlex = 'initial';
shouldBeEqualToString('flexitem.style.webkitFlex', 'initial');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 1 auto');
flexitem.style.webkitFlex = 'none';
// FIXME: This test case is failing. https://bugs.webkit.org/show_bug.cgi?id=90020
shouldBeEqualToString('flexitem.style.webkitFlex', '0 0 auto');
shouldBeEqualToString('getComputedStyle(flexitem).webkitFlex', '0 0 auto');
</script>
<script src="../../fast/js/resources/js-test-post.js"></script>
</body>
</html>