<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<div id=log></div>
<script>
  var fails = ["", "?type=", "?type=x", "?type=x/x"],
      passes = ["?type=image/gif", "?type=image/png", "?type=image/png;blah"]

  fails.forEach(function(urlpart) {
    async_test(function(t) {
      var img = document.createElement("img")
      img.onerror = t.step_func_done(function(){})
      img.onload = t.unreached_func("Unexpected load event")
      img.src = "resources/image.py" + urlpart
      document.body.appendChild(img)
    }, "URL query: " + urlpart)
  })

  passes.forEach(function(urlpart) {
    async_test(function(t) {
      var img = document.createElement("img")
      img.onerror = t.unreached_func("Unexpected error event")
      img.onload = t.step_func_done(function(){
        assert_equals(img.width, 96)
      })
      img.src = "resources/image.py" + urlpart
      document.body.appendChild(img)
    }, "URL query: " + urlpart)
  })
</script>
