<!DOCTYPE html>
<html>
    <head>
        <title>Shape Outside Polygon Valid Formats</title>
        <link rel="author" title="Adobe" href="http://html.adobe.com/">
        <link rel="author" title="Bear Travis" href="mailto:betravis@adobe.com">
        <link rel="reviewer" title="Alan Stearns" href="mailto:stearns@adobe.com"> <!--  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">
        <meta name="assert" content="A polygonal basic shape has an optional fill-rule and one or more pairs of coordinates">
        <meta name="flags" content="ahem dom">
        <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 valid_polygon_tests = [
                    {
                      "name": "Single point",
                      "actual": "polygon(1px 2px)",
                      "expected_inline": "polygon(1px 2px)",
                      "expected_computed": "polygon(1px 2px)"
                    },
                    {
                      "name": "Single point with fill-rule",
                      "actual": "polygon(evenodd, 1px 2px)",
                      "expected_inline": "polygon(evenodd, 1px 2px)",
                      "expected_computed": "polygon(evenodd, 1px 2px)"
                    },
                    {
                      "name": "Multiple points",
                      "actual": "polygon(1px 2px, 3px 4px, 5px 6px)",
                      "expected_inline": "polygon(1px 2px, 3px 4px, 5px 6px)",
                      "expected_computed": "polygon(1px 2px, 3px 4px, 5px 6px)"
                    },
                    {
                      "name": "Multiple points with fill-rule",
                      "actual": "polygon(evenodd, 1px 2px, 3px 4px, 5px 6px)",
                      "expected_inline": "polygon(evenodd, 1px 2px, 3px 4px, 5px 6px)",
                      "expected_computed": "polygon(evenodd, 1px 2px, 3px 4px, 5px 6px)"
                    }
            ];
            generate_tests( ParsingUtils.testInlineStyle,
                            ParsingUtils.buildTestCases(valid_polygon_tests, "inline") );
            generate_tests( ParsingUtils.testComputedStyle,
                            ParsingUtils.buildTestCases(valid_polygon_tests, "computed") );
        </script>
    </body>
</html>
