blob: 02e457310f6d46680097d598aafbfce1e4cb7d3d [file] [log] [blame]
<script src='../../resources/testharness.js'></script>
<script src='../../resources/testharnessreport.js'></script>
<body>
<canvas id='canvas' width='400' height='400'>
</canvas>
<script src='./resources/canvas-hit-region-event.js'></script>
<script>
test(function(t) {
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
context.rect(20, 20, 60, 60);
context.rect(0, 0, 100, 100);
context.addHitRegion({
id : 'nonzero'
// default fillRule
});
// default fillRule(nonzero)
assert_equals(clickCanvas(1, 1), 'nonzero');
assert_equals(clickCanvas(99, 98), 'nonzero');
assert_equals(clickCanvas(21, 21), 'nonzero');
assert_equals(clickCanvas(50, 50), 'nonzero');
context.removeHitRegion('nonzero');
context.addHitRegion({
id : 'evenodd',
fillRule : 'evenodd'
});
// fillRule = evenodd
assert_equals(clickCanvas(1, 1), 'evenodd');
assert_equals(clickCanvas(99, 98), 'evenodd');
assert_equals(clickCanvas(21, 21), null);
assert_equals(clickCanvas(50, 50), null);
context.removeHitRegion('evenodd');
context.addHitRegion({
id : 'nonzero',
fillRule : 'nonzero'
});
// fillRule = nonzero
assert_equals(clickCanvas(1, 1), 'nonzero');
assert_equals(clickCanvas(99, 98), 'nonzero');
assert_equals(clickCanvas(21, 21), 'nonzero');
assert_equals(clickCanvas(50, 50), 'nonzero');
context.removeHitRegion('nonzero');
assert_throws_js(TypeError, function() {
context.addHitRegion({id : 'nonzero', fillRule : null});
});
context.addHitRegion({
id : 'nonzero',
fillRule : undefined
});
// fillRule = undefined, falls back to default (nonzero):');
assert_equals(clickCanvas(1, 1), 'nonzero');
assert_equals(clickCanvas(99, 98), 'nonzero');
assert_equals(clickCanvas(21, 21), 'nonzero');
assert_equals(clickCanvas(50, 50), 'nonzero');
}, 'Canvas Hit Regions: fillRule test');
</script>
</body>