<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>OffscreenCanvas test: 2d.shadow.image.section</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/html/canvas/resources/canvas-tests.js"></script>

<h1>2d.shadow.image.section</h1>
<p class="desc">Shadows are not drawn for areas outside image source rectangles</p>


<script>
promise_test(async t => {

  var canvas = new OffscreenCanvas(100, 50);
  var ctx = canvas.getContext('2d');

  ctx.fillStyle = '#0f0';
  ctx.fillRect(0, 0, 100, 50);
  ctx.shadowOffsetY = 50;
  ctx.shadowColor = '#f00';
  var response = await fetch('/images/redtransparent.png')
  var blob = await response.blob();
  var img = await createImageBitmap(blob);
  ctx.drawImage(img, 50, 0, 50, 50, 0, -50, 50, 50);

  _assertPixelApprox(canvas, 25,25, 0,255,0,255, 2);
  _assertPixelApprox(canvas, 50,25, 0,255,0,255, 2);
  _assertPixelApprox(canvas, 75,25, 0,255,0,255, 2);

}, "Shadows are not drawn for areas outside image source rectangles");
</script>
