tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

2d.line.join.bevel.html (2004B)


      1 <!DOCTYPE html>
      2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
      3 <meta charset="UTF-8">
      4 <title>OffscreenCanvas test: 2d.line.join.bevel</title>
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <script src="/html/canvas/resources/canvas-tests.js"></script>
      8 
      9 <h1>2d.line.join.bevel</h1>
     10 <p class="desc">lineJoin 'bevel' is rendered correctly</p>
     11 
     12 
     13 <script>
     14 var t = async_test("lineJoin 'bevel' is rendered correctly");
     15 var t_pass = t.done.bind(t);
     16 var t_fail = t.step_func(function(reason) {
     17    throw reason;
     18 });
     19 t.step(function() {
     20 
     21  var canvas = new OffscreenCanvas(100, 50);
     22  var ctx = canvas.getContext('2d');
     23 
     24  ctx.fillStyle = '#0f0';
     25  ctx.fillRect(0, 0, 100, 50);
     26 
     27  var tol = 1; // tolerance to avoid antialiasing artifacts
     28 
     29  ctx.lineJoin = 'bevel';
     30  ctx.lineWidth = 20;
     31 
     32  ctx.fillStyle = '#f00';
     33  ctx.strokeStyle = '#0f0';
     34 
     35  ctx.fillRect(10, 10, 20, 20);
     36  ctx.fillRect(20, 20, 20, 20);
     37  ctx.beginPath();
     38  ctx.moveTo(30, 20);
     39  ctx.lineTo(40-tol, 20);
     40  ctx.lineTo(30, 10+tol);
     41  ctx.fill();
     42 
     43  ctx.beginPath();
     44  ctx.moveTo(10, 20);
     45  ctx.lineTo(30, 20);
     46  ctx.lineTo(30, 40);
     47  ctx.stroke();
     48 
     49 
     50  ctx.fillStyle = '#0f0';
     51  ctx.strokeStyle = '#f00';
     52 
     53  ctx.beginPath();
     54  ctx.moveTo(60, 20);
     55  ctx.lineTo(80, 20);
     56  ctx.lineTo(80, 40);
     57  ctx.stroke();
     58 
     59  ctx.fillRect(60, 10, 20, 20);
     60  ctx.fillRect(70, 20, 20, 20);
     61  ctx.beginPath();
     62  ctx.moveTo(80, 20);
     63  ctx.lineTo(90+tol, 20);
     64  ctx.lineTo(80, 10-tol);
     65  ctx.fill();
     66 
     67  _assertPixel(canvas, 34,16, 0,255,0,255);
     68  _assertPixel(canvas, 34,15, 0,255,0,255);
     69  _assertPixel(canvas, 35,15, 0,255,0,255);
     70  _assertPixel(canvas, 36,15, 0,255,0,255);
     71  _assertPixel(canvas, 36,14, 0,255,0,255);
     72 
     73  _assertPixel(canvas, 84,16, 0,255,0,255);
     74  _assertPixel(canvas, 84,15, 0,255,0,255);
     75  _assertPixel(canvas, 85,15, 0,255,0,255);
     76  _assertPixel(canvas, 86,15, 0,255,0,255);
     77  _assertPixel(canvas, 86,14, 0,255,0,255);
     78  t.done();
     79 
     80 });
     81 </script>