chromium/third_party/blink/web_tests/external/wpt/css/css-shapes/shape-outside/values/shape-outside-polygon-006.html

<!DOCTYPE html>
<html>
    <head>
        <title>Shape Outside Polygon args - calc() values</title>
        <link rel="author" title="Adobe" href="http://html.adobe.com/">
        <link rel="author" title="Rebecca Hauck" href="mailto:[email protected]">
        <link rel="reviewer" title="Alan Stearns" href="mailto:[email protected]"> <!-- 2014-03-04 -->
        <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#funcdef-polygon">
        <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property">
        <link rel="help" href="http://www.w3.org/TR/css3-values/#calc-notation">
        <meta name="assert" content="A polygon's arguments may be in calc() values.">
        <meta name="flags" content="ahem dom">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1">
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>
        <script src="support/parsing-utils.js"></script>
    </head>
    <body>
        <div id="log"></div>
        <script type="text/javascript">
            var polygon_calc_tests = [];
            ParsingUtils.calcTestValues.forEach(function(value) {
                testCase = ['polygon('+ value[0] +' '+ value[0] +')',
                            'polygon('+ value[1] +' '+ value[1] +')'];
                if(Object.prototype.toString.call( value[2] ) === '[object Array]' && value[2].length == 2) {
                    testCase.push([
                                    'polygon('+ value[2][0] +' '+ value[2][0] +')',
                                    'polygon('+ value[2][1] +' '+ value[2][1] +')'
                                 ]);
                } else {
                    testCase.push('polygon('+ value[2] +' '+ value[2] +')');
                }
                polygon_calc_tests.push(testCase);
            });
            ParsingUtils.calcTestValues.forEach(function(value) {
                testCase = ['polygon(evenodd, '+ value[0] +' '+ value[0] +', '+ value[0] +' '+ value[0] +')',
                            'polygon(evenodd, '+ value[1] +' '+ value[1] +', '+ value[1] +' '+ value[1] +')'];
                if(Object.prototype.toString.call( value[2] ) === '[object Array]' && value[2].length == 2) {
                    testCase.push([
                                    'polygon(evenodd, '+ value[2][0] +' '+ value[2][0] +', '+ value[2][0] +' '+ value[2][0] +')',
                                    'polygon(evenodd, '+ value[2][1] +' '+ value[2][1] +', '+ value[2][1] +' '+ value[2][1] +')'
                                 ]);
                } else {
                    testCase.push('polygon(evenodd, '+ value[2] +' '+ value[2] +', '+ value[2] +' '+ value[2] +')');
                }
                polygon_calc_tests.push(testCase);
            });
            generate_tests(ParsingUtils.testInlineStyle, ParsingUtils.buildCalcTests(polygon_calc_tests, 'inline'));
            generate_tests(ParsingUtils.testComputedStyle, ParsingUtils.buildCalcTests(polygon_calc_tests, 'computed'));
        </script>
    </body>
</html>