blob: 05818aeb8bb66f24e91c83fdad9502b2a06285cc [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hit regions: addHitRegion throws NotSupportedError</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<div style="display: none"><canvas id="canvas"><button id="button">button</button></canvas></div>
<script>
test(function () {
assert_throws({ name: "NotSupportedError" },
function () {
var canvas = document.getElementById("canvas");
// Reset context
canvas.width = canvas.width;
var button = document.getElementById("button");
var context = canvas.getContext("2d");
// Shapes are painted without affecting the current default path,
// http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#drawing-rectangles-to-the-canvas
context.fillRect(25, 25, 25, 25);
// If the specified path has no pixels, throw a NotSupportedError exception and abort these steps.
// http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#hit-regions
context.addHitRegion({ id: "notsupportederror_fillRect", control: button })
}, "fillRect should not affect current default path and NotSupportedError should be thrown.");
}, "fillRect should not affect current default path and NotSupportedError should be thrown.");
test(function () {
assert_throws({ name: "NotSupportedError" },
function () {
var canvas = document.getElementById("canvas");
// Reset context
canvas.width = canvas.width;
var button = document.getElementById("button");
var context = canvas.getContext("2d");
// "Shapes are painted without affecting the current default path,"
// http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#drawing-rectangles-to-the-canvas
context.strokeRect(75, 25, 25, 25);
// "If the specified path has no pixels, throw a NotSupportedError exception and abort these steps."
// http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#hit-regions
context.addHitRegion({ id: "notsupportederror_strokeRect", control: button })
}, "strokeRect should not affect current default path and NotSupportedError should be thrown.");
}, "strokeRect should not affect current default path and NotSupportedError should be thrown.");
test(function() {
assert_throws({ name: "NotSupportedError" },
function () {
var canvas = document.getElementById("canvas");
// Reset context
canvas.width = canvas.width;
var button = document.getElementById("button");
var context = canvas.getContext("2d");
// "These shapes are painted without affecting the current path"
// http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#drawing-rectangles-to-the-canvas
context.fillText("fillText", 25, 100);
// "If the specified path has no pixels, throw a NotSupportedError exception and abort these steps."
// http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#drawing-text-to-the-canvas
context.addHitRegion({ id: "notsupportederror_fillText", control: button });
}, "fillText should not affect current default path and NotSupportedError should be thrown.");
}, "fillText should not affect current default path and NotSupportedError should be thrown.");
test(function() {
assert_throws({ name: "NotSupportedError" },
function () {
var canvas = document.getElementById("canvas");
canvas.width = canvas.width;
var button = document.getElementById("button");
var context = canvas.getContext("2d");
// "These shapes are painted without affecting the current path"
// http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#drawing-rectangles-to-the-canvas
context.strokeText("strokeText", 75, 100);
// "If the specified path has no pixels, throw a NotSupportedError exception and abort these steps."
// http://www.w3.org/html/wg/drafts/2dcontext/html5_canvas_CR/#drawing-text-to-the-canvas
context.addHitRegion({ id: "notsupportederror_strokeText", control: button });
}, "strokeText should not affect current default path and NotSupportedError shuld be thrown.");
}, "strokeText should not affect current default path and NotSupportedError shuld be thrown.");
</script>
</body>
</html>