tor-browser

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

2d.imageData.get.nonfinite.html (5248B)


      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.imageData.get.nonfinite</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.imageData.get.nonfinite</h1>
     10 <p class="desc">getImageData() throws TypeError if arguments are not finite</p>
     11 
     12 <p class="notes">Defined in "Web IDL" (draft)
     13 <script>
     14 var t = async_test("getImageData() throws TypeError if arguments are not finite");
     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  assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, 10, 10); });
     25  assert_throws_js(TypeError, function() { ctx.getImageData(-Infinity, 10, 10, 10); });
     26  assert_throws_js(TypeError, function() { ctx.getImageData(NaN, 10, 10, 10); });
     27  assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, 10, 10); });
     28  assert_throws_js(TypeError, function() { ctx.getImageData(10, -Infinity, 10, 10); });
     29  assert_throws_js(TypeError, function() { ctx.getImageData(10, NaN, 10, 10); });
     30  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, Infinity, 10); });
     31  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, -Infinity, 10); });
     32  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, NaN, 10); });
     33  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, Infinity); });
     34  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, -Infinity); });
     35  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, NaN); });
     36  assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, 10, 10); });
     37  assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, Infinity, 10); });
     38  assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, Infinity, Infinity); });
     39  assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, Infinity, 10, Infinity); });
     40  assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, Infinity, 10); });
     41  assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, Infinity, Infinity); });
     42  assert_throws_js(TypeError, function() { ctx.getImageData(Infinity, 10, 10, Infinity); });
     43  assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, Infinity, 10); });
     44  assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, Infinity, Infinity); });
     45  assert_throws_js(TypeError, function() { ctx.getImageData(10, Infinity, 10, Infinity); });
     46  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, Infinity, Infinity); });
     47  var posinfobj = { valueOf: function() { return Infinity; } },
     48      neginfobj = { valueOf: function() { return -Infinity; } },
     49      nanobj = { valueOf: function() { return -Infinity; } };
     50  assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, 10, 10); });
     51  assert_throws_js(TypeError, function() { ctx.getImageData(neginfobj, 10, 10, 10); });
     52  assert_throws_js(TypeError, function() { ctx.getImageData(nanobj, 10, 10, 10); });
     53  assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, 10, 10); });
     54  assert_throws_js(TypeError, function() { ctx.getImageData(10, neginfobj, 10, 10); });
     55  assert_throws_js(TypeError, function() { ctx.getImageData(10, nanobj, 10, 10); });
     56  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, posinfobj, 10); });
     57  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, neginfobj, 10); });
     58  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, nanobj, 10); });
     59  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, posinfobj); });
     60  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, neginfobj); });
     61  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, 10, nanobj); });
     62  assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, 10, 10); });
     63  assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, 10); });
     64  assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, posinfobj, posinfobj); });
     65  assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, posinfobj, 10, posinfobj); });
     66  assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, posinfobj, 10); });
     67  assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, posinfobj, posinfobj); });
     68  assert_throws_js(TypeError, function() { ctx.getImageData(posinfobj, 10, 10, posinfobj); });
     69  assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, posinfobj, 10); });
     70  assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, posinfobj, posinfobj); });
     71  assert_throws_js(TypeError, function() { ctx.getImageData(10, posinfobj, 10, posinfobj); });
     72  assert_throws_js(TypeError, function() { ctx.getImageData(10, 10, posinfobj, posinfobj); });
     73  t.done();
     74 
     75 });
     76 </script>