content/canvas/test/test_ImageData_ctor.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/content/canvas/test/test_ImageData_ctor.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,80 @@
     1.4 +<!DOCTYPE HTML><meta charset=utf-8>
     1.5 +<title>Canvas test: ImageData</title>
     1.6 +<script type="text/javascript" src="/resources/testharness.js"></script>
     1.7 +<script type="text/javascript" src="/resources/testharnessreport.js"></script>
     1.8 +<body>
     1.9 +<div id="log"></div>
    1.10 +<script>
    1.11 +
    1.12 +test(function() {
    1.13 +  assert_throws(new TypeError(), function(){ new ImageData(); });
    1.14 +  assert_throws(new TypeError(), function(){ new ImageData(1); });
    1.15 +  assert_throws(new TypeError(), function(){ new ImageData(new Uint8ClampedArray([1,2,3,4])); });
    1.16 +  assert_throws("IndexSizeError", function(){ new ImageData(0,0); });
    1.17 +  assert_throws("IndexSizeError", function(){ new ImageData(0,1); });
    1.18 +  assert_throws("IndexSizeError", function(){ new ImageData(1,0); });
    1.19 +  new ImageData(1,1);
    1.20 +  new ImageData(1,2);
    1.21 +  new ImageData(1,3);
    1.22 +  assert_throws("IndexSizeError", function(){ new ImageData(2,0); });
    1.23 +  new ImageData(2,1);
    1.24 +  new ImageData(2,2);
    1.25 +  assert_throws("IndexSizeError", function(){ new ImageData(32768,32768); });
    1.26 +  assert_throws("IndexSizeError", function(){ new ImageData(32768,32769); });
    1.27 +  assert_throws("IndexSizeError", function(){ new ImageData(32769,32768); });
    1.28 +  assert_throws("IndexSizeError", function(){ new ImageData(2,536870912); });
    1.29 +  assert_throws("IndexSizeError", function(){ new ImageData(2,536870913); });
    1.30 +  assert_throws("IndexSizeError", function(){ new ImageData(536870912,2); });
    1.31 +  assert_throws("IndexSizeError", function(){ new ImageData(536870913,2); });
    1.32 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([]),0); });
    1.33 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([]),0,0); });
    1.34 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([]),1); });
    1.35 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([1]),1); });
    1.36 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([1,2]),1); });
    1.37 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([1,2,3]),1); });
    1.38 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5]),1); });
    1.39 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),0); });
    1.40 +  new ImageData(new Uint8ClampedArray([1,2,3,4]),1);
    1.41 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),2); });
    1.42 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),0); });
    1.43 +  new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),1);
    1.44 +  new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),2);
    1.45 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),3); });
    1.46 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([]),1,1); });
    1.47 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([1]),1,1); });
    1.48 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([1,2]),1,1); });
    1.49 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([1,2,3]),1,1); });
    1.50 +  assert_throws("InvalidStateError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5]),1,1); });
    1.51 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),0,0); });
    1.52 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),0,1); });
    1.53 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),0,2); });
    1.54 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),1,0); });
    1.55 +  new ImageData(new Uint8ClampedArray([1,2,3,4]),1,1);
    1.56 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),1,2); });
    1.57 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),2,0); });
    1.58 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),2,1); });
    1.59 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4]),2,2); });
    1.60 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),1,1); });
    1.61 +  new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),1,2);
    1.62 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),1,3); });
    1.63 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),2,0); });
    1.64 +  new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),2,1);
    1.65 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),2,2); });
    1.66 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),2,536870912); });
    1.67 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),2,536870913); });
    1.68 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),536870912,2); });
    1.69 +  assert_throws("IndexSizeError", function(){ new ImageData(new Uint8ClampedArray([1,2,3,4,5,6,7,8]),536870913,2); });
    1.70 +}, "Test constructor arguments");
    1.71 +
    1.72 +test(function() {
    1.73 +  var data = new Uint8ClampedArray([1,2,3,4,5,6,7,8]);
    1.74 +  var imgData = new ImageData(data,1);
    1.75 +  assert_equals(imgData.width, 1);
    1.76 +  assert_equals(imgData.height, 2);
    1.77 +  assert_array_equals(imgData.data, [1,2,3,4,5,6,7,8]);
    1.78 +  data.set([8,7,6,5,4,3,2,1]);
    1.79 +  assert_array_equals(imgData.data, [8,7,6,5,4,3,2,1]);
    1.80 +}, "The data argument is not copied");
    1.81 +
    1.82 +</script>
    1.83 +

mercurial