<!DOCTYPE html>
<html>
    <head>
        <title>Shape Outside Inset 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-inset">
        <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property">
        <meta name="assert" content="An inset has 1 to 4 insets, and optional border radii that follow the border-radius format">
        <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_inset_tests = [
                    {
                      "name": "1 inset",
                      "actual": "inset(10px)",
                      "expected_inline": "inset(10px)",
                      "expected_computed": "inset(10px)"
                    },
                    {
                      "name": "2 insets",
                      "actual": "inset(10px 20px)",
                      "expected_inline": "inset(10px 20px)",
                      "expected_computed": "inset(10px 20px)"
                    },
                    {
                      "name": "3 insets",
                      "actual": "inset(10px 20px 30px)",
                      "expected_inline": "inset(10px 20px 30px)",
                      "expected_computed": "inset(10px 20px 30px)"
                    },
                    {
                      "name": "4 insets",
                      "actual": "inset(10px 20px 30px 40px)",
                      "expected_inline": "inset(10px 20px 30px 40px)",
                      "expected_computed": "inset(10px 20px 30px 40px)"
                    },
                    {
                      "name": "1 inset and round",
                      "actual": "inset(10px round 20px)",
                      "expected_inline": "inset(10px round 20px)",
                      "expected_computed": "inset(10px round 20px)"
                    },
                    {
                      "name": "2 insets and round",
                      "actual": "inset(10px 20px round 30px)",
                      "expected_inline": "inset(10px 20px round 30px)",
                      "expected_computed": "inset(10px 20px round 30px)"
                    },
                    {
                      "name": "3 insets and round",
                      "actual": "inset(10px 20px 30px round 40px)",
                      "expected_inline": "inset(10px 20px 30px round 40px)",
                      "expected_computed": "inset(10px 20px 30px round 40px)"
                    },
                    {
                      "name": "4 insets and round",
                      "actual": "inset(10px 20px 30px 40px round 50px)",
                      "expected_inline": "inset(10px 20px 30px 40px round 50px)",
                      "expected_computed": "inset(10px 20px 30px 40px round 50px)"
                    }
            ];
            generate_tests( ParsingUtils.testInlineStyle,
                            ParsingUtils.buildTestCases(valid_inset_tests, "inline") );
            generate_tests( ParsingUtils.testComputedStyle,
                            ParsingUtils.buildTestCases(valid_inset_tests, "computed") );
        </script>
    </body>
</html>
