<!DOCTYPE html>
<html>
    <head>
        <title>Shape Outside Box Shape and Box Valid Values</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/#shape-outside-property">
        <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#typedef-shape-box">
        <meta name="assert" content="Shape-outside may be a pair of shape and box values">
        <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 shape_box_valid_tests = [
            {
              "actual": "polygon(nonzero, 1px 1px) content-box",
              "expected_inline": "polygon(1px 1px) content-box",
              "expected_computed": "polygon(1px 1px) content-box"
            },
            {
              "actual": "polygon(nonzero, 1px 1px) padding-box",
              "expected_inline": "polygon(1px 1px) padding-box",
              "expected_computed": "polygon(1px 1px) padding-box"
            },
            {
              "actual": "polygon(nonzero, 1px 1px) border-box",
              "expected_inline": "polygon(1px 1px) border-box",
              "expected_computed": "polygon(1px 1px) border-box"
            },
            {
              "actual": "polygon(nonzero, 1px 1px) margin-box",
              "expected_inline": "polygon(1px 1px) margin-box",
              "expected_computed": "polygon(1px 1px) margin-box"
            },
            {
              "actual": " content-box polygon(nonzero, 1px 1px)",
              "expected_inline": "content-box polygon(1px 1px)",
              "expected_computed": "polygon(1px 1px) content-box"
            },
            {
              "actual": "padding-box polygon(nonzero, 1px 1px)",
              "expected_inline": "padding-box polygon(1px 1px)",
              "expected_computed": "polygon(1px 1px) padding-box"
            },
            {
              "actual": "border-box polygon(nonzero, 1px 1px)",
              "expected_inline": "border-box polygon(1px 1px)",
              "expected_computed": "polygon(1px 1px) border-box"
            },
            {
              "actual": "margin-box polygon(nonzero, 1px 1px)",
              "expected_inline": "margin-box polygon(1px 1px)",
              "expected_computed": "polygon(1px 1px) margin-box"
            }
        ];
        generate_tests( ParsingUtils.testInlineStyle,
                        ParsingUtils.buildTestCases(shape_box_valid_tests, "inline") );
        generate_tests( ParsingUtils.testComputedStyle,
                        ParsingUtils.buildTestCases(shape_box_valid_tests, "computed") );
        </script>
    </body>
</html>
