<!DOCTYPE html>
<html>
    <head>
        <title>Shape Outside Circle Position Arguments - positive/negative, decimal/non-decimal</title>
        <link rel="author" title="Adobe" href="http://html.adobe.com/">
        <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@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-circle">
        <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property">
        <meta name="assert" content="A circle's position arguments may be in signed positive/negative or
                                     decimal/non-decimal format.">
        <meta name="flags" content="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_circle_radii_tests = [
                {
                  "actual": "circle(at +50px)",
                  "expected_inline": "circle(at 50px 50%)",
                  "expected_computed": "circle(at 50px 50%)"
                },
                {
                  "actual": "circle(at -50px)",
                  "expected_inline": "circle(at -50px 50%)",
                  "expected_computed": "circle(at -50px 50%)"
                },
                {
                  "actual": "circle(at +50%)",
                  "expected_inline": "circle(at 50% 50%)",
                  "expected_computed": "circle(at 50% 50%)"
                },
                {
                  "actual": "circle(at -50%)",
                  "expected_inline": "circle(at -50% 50%)",
                  "expected_computed": "circle(at -50% 50%)"
                },
                {
                  "actual": "circle(at left +50px)",
                  "expected_inline": "circle(at 0% 50px)",
                  "expected_computed": "circle(at 0% 50px)"
                },
                {
                  "actual": "circle(at left +50%)",
                  "expected_inline": "circle(at 0% 50%)",
                  "expected_computed": "circle(at 0% 50%)"
                },
                {
                  "actual": "circle(at right -50px)",
                  "expected_inline": "circle(at 100% -50px)",
                  "expected_computed": "circle(at 100% -50px)"
                },
                {
                  "actual": "circle(at right -50%)",
                  "expected_inline": "circle(at 100% -50%)",
                  "expected_computed": "circle(at 100% -50%)"
                },
                {
                  "actual": "circle(at +50px top)",
                  "expected_inline": "circle(at 50px 0%)",
                  "expected_computed": "circle(at 50px 0%)"
                },
                {
                  "actual": "circle(at +50% top)",
                  "expected_inline": "circle(at 50% 0%)",
                  "expected_computed": "circle(at 50% 0%)"
                },
                {
                  "actual": "circle(at -50px bottom)",
                  "expected_inline": "circle(at -50px 100%)",
                  "expected_computed": "circle(at -50px 100%)"
                },
                {
                  "actual": "circle(at -50% bottom)",
                  "expected_inline": "circle(at -50% 100%)",
                  "expected_computed": "circle(at -50% 100%)"
                },
                {
                  "actual": "circle(at +50px +50px)",
                  "expected_inline": "circle(at 50px 50px)",
                  "expected_computed": "circle(at 50px 50px)"
                },
                {
                  "actual": "circle(at +50% +50%)",
                  "expected_inline": "circle(at 50% 50%)",
                  "expected_computed": "circle(at 50% 50%)"
                },
                {
                  "actual": "circle(at -50px -50px)",
                  "expected_inline": "circle(at -50px -50px)",
                  "expected_computed": "circle(at -50px -50px)"
                },
                {
                  "actual": "circle(at +50px -50px)",
                  "expected_inline": "circle(at 50px -50px)",
                  "expected_computed": "circle(at 50px -50px)"
                },
                {
                  "actual": "circle(at -50px +50px)",
                  "expected_inline": "circle(at -50px 50px)",
                  "expected_computed": "circle(at -50px 50px)"
                },
                {
                  "actual": "circle(at +50% -50%)",
                  "expected_inline": "circle(at 50% -50%)",
                  "expected_computed": "circle(at 50% -50%)"
                },
                {
                  "actual": "circle(at -50% +50%)",
                  "expected_inline": "circle(at -50% 50%)",
                  "expected_computed": "circle(at -50% 50%)"
                }
            ];
            generate_tests( ParsingUtils.testInlineStyle,
                            ParsingUtils.buildTestCases(valid_circle_radii_tests, 'inline') );
            generate_tests( ParsingUtils.testComputedStyle,
                            ParsingUtils.buildTestCases(valid_circle_radii_tests, 'computed') );
        </script>
    </body>
</html>
