| <!DOCTYPE html> |
| <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> |
| <title>Canvas test: 2d.drawImage.zerosource.image</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/html/canvas/resources/canvas-tests.js"></script> |
| <link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> |
| <body class="show_output"> |
| |
| <h1>2d.drawImage.zerosource.image</h1> |
| <p class="desc">drawImage with zero-sized source rectangle from image draws nothing without exception</p> |
| |
| |
| <p class="output">Actual output:</p> |
| <canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> |
| <p class="output expectedtext">Expected output:<p><img src="/images/green-100x50.png" class="output expected" id="expected" alt=""> |
| <ul id="d"></ul> |
| <script> |
| promise_test(async t => { |
| |
| var canvas = document.getElementById('c'); |
| var ctx = canvas.getContext('2d'); |
| |
| ctx.fillStyle = '#0f0'; |
| ctx.fillRect(0, 0, 100, 50); |
| |
| function loadImage(src) { |
| return new Promise((resolve, reject) => { |
| const img = new Image(); |
| img.onload = () => resolve(img); |
| img.onerror = (err) => reject(err); |
| img.src = src; |
| }); |
| } |
| const img1 = await loadImage('/images/red-zerowidth.svg'); |
| const img2 = await loadImage('/images/red-zeroheight.svg'); |
| const img3 = await loadImage('/images/red-zerosize.svg'); |
| |
| ctx.drawImage(img1, 0, 0, 100, 50); |
| ctx.drawImage(img2, 0, 0, 100, 50); |
| ctx.drawImage(img3, 0, 0, 100, 50); |
| _assertPixel(canvas, 50, 25, 0, 255, 0, 255); |
| |
| }, "drawImage with zero-sized source rectangle from image draws nothing without exception"); |
| </script> |
| |