<!DOCTYPE html>

<html>
<head>
  <style type="text/css" media="screen">
    .box {
      display: inline-block;
      height: 120px;
      width: 200px;
      margin: 10px;
      border: 1px solid black;
      background-repeat: no-repeat;
    }

    .linear1 {
      background-image: -webkit-linear-gradient(left, black);
      background-image: -moz-linear-gradient(left, black);
    }

    .linear2 {
      background-image: -webkit-linear-gradient(left, white, black);
      background-image: -moz-linear-gradient(left, white, black);
    }

    .linear3 {
      background-image: -webkit-linear-gradient(left, red, green, blue);
      background-image: -moz-linear-gradient(left, red, green, blue);
    }

    .linear4 {
      background-image: -webkit-linear-gradient(left, red 25%, green 50%, blue 75%);
      background-image: -moz-linear-gradient(left, red 25%, green 50%, blue 75%);
    }

    .linear5 {
      /* Green should get shifted to 50% */
      background-image: -webkit-linear-gradient(left, red 50%, green 30%, blue 90%);
      background-image: -moz-linear-gradient(left, red 50%, green 30%, blue 90%);
    }

    .linear6 {
      /* Green and yellow should be evenly spaced */
      background-image: -webkit-linear-gradient(left, red, yellow, green, blue);
      background-image: -moz-linear-gradient(left, red, yellow, green, blue);
    }

    .linear7 {
      background-image: -webkit-linear-gradient(red -50%, green, blue, green, blue 150%);
      background-image: -moz-linear-gradient(red -50%, green, blue, green, blue 150%);
    }

    .linear8 {
      background-image: -webkit-linear-gradient(left, red, green 100px, blue);
      background-image: -moz-linear-gradient(left, red, green 100px, blue);
    }

    .linear9 {
      background-image: -webkit-linear-gradient(left, red, green 120%, blue);
      background-image: -moz-linear-gradient(left, red, green 120%, blue);
    }
  </style>
  <script type="text/javascript" charset="utf-8">
    if (window.testRunner) {
      var dumpPixels = true;
      testRunner.dumpAsText(dumpPixels);
    }
  </script>
</head>
<body>

  <div class="linear1 box"></div>
  <div class="linear2 box"></div>
  <div class="linear3 box"></div>
  <br>
  <div class="linear4 box"></div>
  <div class="linear5 box"></div>
  <div class="linear6 box"></div>
  <br>
  <div class="linear7 box"></div>
  <div class="linear8 box"></div>
  <div class="linear9 box"></div>

</body>
</html>
