OLD | NEW |
| (Empty) |
1 setup({explicit_done: true}); | |
2 | |
3 var img = document.getElementById('img'); | |
4 var area = document.getElementById('area'); | |
5 | |
6 var hitRect = [[area, 3, 3], [area, 9, 9], [img, 1, 3], [img, 3, 1], [img, 11, 9
], [img, 9, 11], [img, 21, 41], [img, 101, 101]]; | |
7 var hitNone = [[img, 3, 3], [img, 9, 9], [img, 1, 3], [img, 3, 1], [img, 11, 9],
[img, 9, 11], [img, 21, 41], [img, 101, 101]]; | |
8 var hitAll = [[area, 1, 1], [area, 1, 299], [area, 299, 1], [area, 299, 299], [a
rea, 21, 41], [area, 101, 101]]; | |
9 var hitCircle = [[area, 11, 40], [area, 29, 40], [area, 20, 31], [area, 20, 49],
[img, 12, 32], [img, 28, 48], [img, 101, 101]]; | |
10 var hitPoly = [[area, 101, 101], [area, 119, 101], [area, 101, 119], [img, 118,
118], [img, 3, 3], [img, 21, 41]]; | |
11 var hitStar = [[area, 101, 101], [area, 199, 101], [area, 150, 51], [img, 150, 1
25], [img, 3, 3], [img, 21, 41]]; | |
12 | |
13 var tests; | |
14 // The test file should have `tests` defined as follows: | |
15 // tests = [ | |
16 // {desc: string, shape: string?, coords: string?, hit: [[element, x, y], ...]}, | |
17 // ... | |
18 // ]; | |
19 | |
20 onload = function() { | |
21 tests.forEach(function(t) { | |
22 test(function(t_obj) { | |
23 if (area.shape === null) { | |
24 area.removeAttribute('shape'); | |
25 } else { | |
26 area.shape = t.shape; | |
27 } | |
28 if (area.coords === null) { | |
29 area.removeAttribute('coords'); | |
30 } else { | |
31 area.coords = t.coords; | |
32 } | |
33 t.hit.forEach(function(arr) { | |
34 var expected = arr[0]; | |
35 var x = arr[1]; | |
36 var y = arr[2]; | |
37 assert_equals(document.elementFromPoint(x, y), expected, 'elementFromPoi
nt('+x+', '+y+')'); | |
38 }); | |
39 }, t.desc + ': ' + format_value(t.coords) + ' (' + t.shape + ')'); | |
40 }); | |
41 done(); | |
42 }; | |
OLD | NEW |