<!DOCTYPE html>
<html>
<!--
 | Test case for the background shorthand property with image, position, and
 | repeat.
 -->
<head>
  <style>
    div {
      width: 500px;
      height: 400px;
    }
  </style>
  <script>
    if (window.testRunner) {
      window.testRunner.waitUntilDone();
    }

    var image = new Image();
    var image_name = 'cobalt.png';

    image.onload = function() {
      var cobalt = document.getElementById('image');
      cobalt.style.background = 'url(' + image_name +') center no-repeat';

      if (window.testRunner) {
        window.testRunner.notifyDone();
      }
    }

    image.src = image_name;

</script>
</head>
<body>
  <div id='image'></div>
</body>
</html>
