<!DOCTYPE html>
<html>
    <head>
        <title>Shape Margin Valid Values - Decimal, Positive/Negative lengths</title>
        <link rel="author" title="Adobe" href="http://html.adobe.com/">
        <link rel="author" title="Rebecca Hauck" href="mailto:rhauck@adobe.com">
        <link rel="help" href="http://www.w3.org/TR/css-shapes-1/#shape-margin-property">
        <meta name="assert" content="shape-margin values may be either a length or percentage">
        <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 shape_margin_valid_tests = [
            {
              "actual": "10.12345px",
              "expected_inline": "10.12345px",
              "expected_computed": "10.12345px"
            },
            {
              "actual": ".5px",
              "expected_inline": "0.5px",
              "expected_computed": "0.5px"
            },
            {
              "actual": "+15px",
              "expected_inline": "15px",
              "expected_computed": "15px"
            },
            {
              "actual": "+10.678px",
              "expected_inline": "10.678px",
              "expected_computed": "10.678px"
            },
        ];
        generate_tests( ParsingUtils.testShapeMarginInlineStyle,
                        ParsingUtils.buildTestCases(shape_margin_valid_tests, "inline"), true);
        generate_tests( ParsingUtils.testShapeMarginComputedStyle,
                        ParsingUtils.buildTestCases(shape_margin_valid_tests, "computed"), true);
        </script>
    </body>
</html>
