diff options
Diffstat (limited to 'testing/web-platform/tests/html/canvas/element/manual/context-attributes')
14 files changed, 213 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/canvas-with-padding.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/canvas-with-padding.html new file mode 100644 index 0000000000..5a93ef680a --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/canvas-with-padding.html @@ -0,0 +1,10 @@ +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<canvas id='c' style="padding-right: 4294967292; border-right: 124px solid black;"></canvas> +<script> + test(function(t) { + var canvas = document.getElementById('c'); + var ctx = canvas.getContext('2d'); + ctx.getImageData(0, 0, 1, 1); + }, '// The test case passes by not crashing.') +</script>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/clearRect_alpha_false-ref.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/clearRect_alpha_false-ref.html new file mode 100644 index 0000000000..eccfc4e2cc --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/clearRect_alpha_false-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase, fillRect with semi-transparent color.</title> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d"); +ctx.fillStyle = 'black'; +ctx.fillRect(-1, -1, 102, 102); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/clearRect_alpha_false.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/clearRect_alpha_false.html new file mode 100644 index 0000000000..a328fbf97a --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/clearRect_alpha_false.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase, clearRect</title> +<link rel="author" title="Justin Novosad" href="mailto:junov@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/#concept-canvas-alpha"> +<link rel="match" href="clearRect_alpha_false-ref.html"> +<meta name="assert" content="Canvas pixels remain opaque black when drawing semi-transparent rectangle."> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d", {alpha: false}); +ctx.fillColor = 'red'; +ctx.fillRect(25, 25, 50, 25); +ctx.clearRect(24, 24, 52, 52); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/drawImage_alpha_false-ref.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/drawImage_alpha_false-ref.html new file mode 100644 index 0000000000..2c9e5620b2 --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/drawImage_alpha_false-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase, drawing a transparent image.</title> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d"); +ctx.fillStyle = 'black'; +ctx.fillRect(-1, -1, 102, 102); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/drawImage_alpha_false.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/drawImage_alpha_false.html new file mode 100644 index 0000000000..64f38bceb1 --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/drawImage_alpha_false.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase, drawing a transparent image</title> +<link rel="author" title="Justin Novosad" href="mailto:junov@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/#concept-canvas-alpha"> +<link rel="match" href="drawImage_alpha_false-ref.html"> +<meta name="assert" content="Canvas pixels remain opaque black when drawing a transparent image."> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const source = document.createElement('canvas'); +source.width = source.height = 20; +const source_ctx = source.getContext("2d"); // leave default transparent content + +const ctx = document.getElementById("c").getContext("2d", {alpha: false}); +ctx.globalCompositOperation = 'copy'; +ctx.drawImage(source, 0, 0); +ctx.globalCompositOperation = 'source-over'; +ctx.drawImage(source, 20, 0); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fillRect_alpha_false-ref.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fillRect_alpha_false-ref.html new file mode 100644 index 0000000000..eccfc4e2cc --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fillRect_alpha_false-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase, fillRect with semi-transparent color.</title> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d"); +ctx.fillStyle = 'black'; +ctx.fillRect(-1, -1, 102, 102); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fillRect_alpha_false.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fillRect_alpha_false.html new file mode 100644 index 0000000000..143756eb0c --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fillRect_alpha_false.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase, fillRect with semi-transparent color.</title> +<link rel="author" title="Justin Novosad" href="mailto:junov@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/#concept-canvas-alpha"> +<link rel="match" href="fillRect_alpha_false-ref.html"> +<meta name="assert" content="Canvas pixels remain opaque black when drawing semi-transparent rectangle."> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d", {alpha: false}); +ctx.fillColor = "rgba(0, 0, 0, 0.5)"; +ctx.fillRect(25, 25, 50, 50); +</script>
\ No newline at end of file diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fill_alpha_false-ref.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fill_alpha_false-ref.html new file mode 100644 index 0000000000..03265a656e --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fill_alpha_false-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase, path fill with transparent color and 'copy' composite operation.</title> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d"); +ctx.fillStyle = 'black'; +ctx.fillRect(-1, -1, 102, 102); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fill_alpha_false.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fill_alpha_false.html new file mode 100644 index 0000000000..7872a79380 --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/fill_alpha_false.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase, path fill with transparent color and 'copy' composite operation.</title> +<link rel="author" title="Justin Novosad" href="mailto:junov@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/#concept-canvas-alpha"> +<link rel="match" href="fill_alpha_false-ref.html"> +<meta name="assert" content="Canvas pixels remain opaque black when filling path with tranparent pixels and 'copy' compisite op."> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d", {alpha: false}); +ctx.fillColor = 'red'; +ctx.fillRect(25, 25, 50, 25); // will be overwritten. +ctx.fillColor = "rgba(0, 0, 0, 0.0)"; +ctx.globalCompositeOperation = 'copy'; +ctx.rect(25, 25, 50, 50); +ctx.fill(); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/getContextAttributes.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/getContextAttributes.html new file mode 100644 index 0000000000..47b3d96233 --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/getContextAttributes.html @@ -0,0 +1,46 @@ +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script> + +var testScenarios = [ + {testDescription: "Test default context creation attributes", + canvasContextAttributes: {}, + expectedContextAttributes: {alpha: true, desynchronized: false, willReadFrequently: false}}, + {testDescription: "Test context creation attributes alpha: true", + canvasContextAttributes: {alpha: true}, + expectedContextAttributes: {alpha: true}}, + {testDescription: "Test context creation attributes alpha: false", + canvasContextAttributes: {alpha: false}, + expectedContextAttributes: {alpha: false}}, + {testDescription: "Test context creation attributes desynchronized: false", + canvasContextAttributes: {desynchronized: false}, + expectedContextAttributes: {desynchronized: false}}, + {testDescription: "Test context creation attributes willReadFrequently: true", + canvasContextAttributes: {willReadFrequently: true}, + expectedContextAttributes: {willReadFrequently: true}}, +]; + +function runTestScenario(testScenario) { + var t = test(function() { + var canvas = document. createElement('canvas'); + var ctx = canvas.getContext('2d', testScenario.canvasContextAttributes); + var contextAttributes = ctx.getContextAttributes(); + if (testScenario.expectedContextAttributes.alpha !== undefined) { + assert_equals(contextAttributes.alpha, + testScenario.expectedContextAttributes.alpha); + } + if (testScenario.expectedContextAttributes.desynchronized !== undefined) { + assert_equals(contextAttributes.desynchronized, + testScenario.expectedContextAttributes.desynchronized); + } + }, testScenario.testDescription); +} + +function runAllTests() { + for (var i = 0; i < testScenarios.length; i++) + runTestScenario(testScenarios[i]); +} + +runAllTests(); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/initial_color_alpha_false-ref.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/initial_color_alpha_false-ref.html new file mode 100644 index 0000000000..b67513c464 --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/initial_color_alpha_false-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase context creation parameter is initialized with solid black.</title> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d"); +ctx.fillStyle = 'black'; +ctx.fillRect(-1, -1, 102, 102); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/initial_color_alpha_false.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/initial_color_alpha_false.html new file mode 100644 index 0000000000..9e86e5ce2c --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/initial_color_alpha_false.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase context creation parameter is initialized with solid black.</title> +<link rel="author" title="Justin Novosad" href="mailto:junov@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/#concept-canvas-alpha"> +<link rel="match" href="initial_color_alpha_false-ref.html"> +<meta name="assert" content="Canvas pixels are initialized to opaque black when alpha attribute is false."> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +document.getElementById("c").getContext("2d", {alpha: false}); +</script> + diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/reset_color_alpha_false-ref.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/reset_color_alpha_false-ref.html new file mode 100644 index 0000000000..d663131148 --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/reset_color_alpha_false-ref.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase context creation parameter is re-initialized with solid black.</title> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const ctx = document.getElementById("c").getContext("2d"); +ctx.fillStyle = 'black'; +ctx.fillRect(-1, -1, 102, 102); +</script> diff --git a/testing/web-platform/tests/html/canvas/element/manual/context-attributes/reset_color_alpha_false.html b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/reset_color_alpha_false.html new file mode 100644 index 0000000000..191975e0f4 --- /dev/null +++ b/testing/web-platform/tests/html/canvas/element/manual/context-attributes/reset_color_alpha_false.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CanvasRenderingContext 2D with alpha=flase context creation parameter is re-initialized with solid black.</title> +<link rel="author" title="Justin Novosad" href="mailto:junov@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/#concept-canvas-alpha"> +<link rel="match" href="reset_color_alpha_false-ref.html"> +<meta name="assert" content="Canvas pixels are re-initialized to opaque black upon context reset."> +<p>Test passes if a 100x100 black square is displayed below.</p> +<canvas id="c" width=100 height=100></canvas> +<script> +const canvas = document.getElementById("c"); +const ctx = canvas.getContext("2d", {alpha: false}); +ctx.fillColor = 'red'; +ctx.fillRect(25, 25, 50, 50); +canvas.width = canvas.width; +</script> + |