<!DOCTYPE html>
<html>
  <head>
    <title>CSS Backgrounds and Borders Test: background shorthand - all values specified</title>
    <link rel="author" title="Intel" href="http://www.intel.com" />
    <link rel="help" href="http://www.w3.org/TR/css3-background/#the-background" />
    <meta name="flags" content="dom image" />
    <meta name="assert" content="Check that given a valid declaration, for each layer the shorthand 'backgound' first sets the corresponding layer of each of 'background-image', 'background-position', 'background-size', 'background-repeat', 'background-origin', 'background-clip' and 'background-attachment' to that property's initial value, then assigns any explicit values specified for this layer in the declaration" />
    <style>
        #test {
            background: url("support/60x60-green.png") 40% / 10em gray round fixed border-box;
        }
    </style>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id="log"></div>
    <div id="test"></div>
    <script>
        var cs = getComputedStyle(document.getElementById("test"), null);

        test(function() {
            assert_equals(cs.getPropertyValue("background-image"),
                'url("' + new URL("support/60x60-green.png", window.location.href).href + '")');
        }, "Computed value for background-image after setting background shorthand");

        test(function() {
            assert_equals(cs.getPropertyValue("background-position"),
                "40% 50%", "background specified value for background-position");
        }, "background_specified_position");

        test(function() {
            assert_equals(cs.getPropertyValue("background-size"),
                "160px", "background specified value for background-size");
        }, "background_specified_size");

        test(function() {
            assert_equals(cs.getPropertyValue("background-repeat"),
                "round", "background specified value for background-repeat");
        }, "background_specified_repeat");

        test(function() {
            assert_equals(cs.getPropertyValue("background-attachment"),
                "fixed", "background specified value for background-attachment");
        }, "background_specified_attachment");

        test(function() {
            assert_equals(cs.getPropertyValue("background-origin"),
                "border-box", "background specified value for background-origin");
        }, "background_specified_origin");

        test(function() {
            assert_equals(cs.getPropertyValue("background-clip"),
                "border-box", "background specified value for background-clip");
        }, "background_specified_clip");

        test(function() {
            assert_equals(cs.getPropertyValue("background-color"),
                "rgb(128, 128, 128)", "background specified value for background-color");
        }, "background_specified_color");
    </script>
  </body>
</html>
