| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 description("Test that when image map areas have their shape or coordinate dynam
    ically altered, the clickable region changes."); |  | 
| 2 |  | 
| 3 if (!window.eventSender) |  | 
| 4     debug("This test will only work properly inside DRT."); |  | 
| 5 |  | 
| 6 var image = document.createElement('img'); |  | 
| 7 image.setAttribute('usemap', '#m'); |  | 
| 8 image.style.width = '400px'; |  | 
| 9 image.style.height = '400px'; |  | 
| 10 image.style.border = '1px solid red'; |  | 
| 11 image.style.position = 'absolute'; |  | 
| 12 image.style.left = '0'; |  | 
| 13 image.style.top = '0'; |  | 
| 14 |  | 
| 15 area = document.createElement('area'); |  | 
| 16 area.setAttribute('href', '#'); |  | 
| 17 area.setAttribute('onclick', 'areaClicked = true; return false;'); |  | 
| 18 |  | 
| 19 areaClicked = false; |  | 
| 20 |  | 
| 21 var map = document.createElement('map'); |  | 
| 22 map.setAttribute('name', 'm'); |  | 
| 23 map.appendChild(area); |  | 
| 24 |  | 
| 25 document.body.appendChild(image); |  | 
| 26 document.body.appendChild(map); |  | 
| 27 |  | 
| 28 function setArea(shape, coords) |  | 
| 29 { |  | 
| 30     area.setAttribute('shape', shape); |  | 
| 31     area.setAttribute('coords', coords); |  | 
| 32 } |  | 
| 33 |  | 
| 34 function checkForArea(x, y) |  | 
| 35 { |  | 
| 36     if (!window.eventSender) |  | 
| 37         return false; |  | 
| 38 |  | 
| 39     areaClicked = false; |  | 
| 40 |  | 
| 41     eventSender.mouseMoveTo(x, y); |  | 
| 42     eventSender.mouseDown(); |  | 
| 43     eventSender.mouseUp(); |  | 
| 44 |  | 
| 45     return areaClicked; |  | 
| 46 } |  | 
| 47 |  | 
| 48 shouldBe("setArea('default', ''); checkForArea(50, 50)", "true"); |  | 
| 49 |  | 
| 50 shouldBe("setArea('rect', '0, 0, 100, 100'); checkForArea(50, 50)", "true"); |  | 
| 51 shouldBe("setArea('rect', '0, 0, 100, 100'); checkForArea(150, 150)", "false"); |  | 
| 52 |  | 
| 53 shouldBe("setArea('rect', '200, 200, 300, 300'); checkForArea(50, 50)", "false")
    ; |  | 
| 54 shouldBe("setArea('rect', '200, 200, 300, 300'); checkForArea(250, 250)", "true"
    ); |  | 
| 55 |  | 
| 56 shouldBe("setArea('circle', '100, 100, 50'); checkForArea(100, 100)", "true"); |  | 
| 57 shouldBe("setArea('circle', '100, 100, 50'); checkForArea(120, 100)", "true"); |  | 
| 58 shouldBe("setArea('circle', '100, 100, 50'); checkForArea(200, 100)", "false"); |  | 
| 59 |  | 
| 60 shouldBe("setArea('circle', '300, 300, 50'); checkForArea(100, 100)", "false"); |  | 
| 61 shouldBe("setArea('circle', '300, 300, 50'); checkForArea(300, 300)", "true"); |  | 
| 62 shouldBe("setArea('circle', '300, 300, 50'); checkForArea(320, 300)", "true"); |  | 
| 63 |  | 
| 64 shouldBe("setArea('poly', '100, 100, 200, 100, 200, 200'); checkForArea(150, 150
    )", "true"); |  | 
| 65 shouldBe("setArea('poly', '100, 100, 200, 100, 200, 200'); checkForArea(100, 150
    )", "false"); |  | 
| 66 shouldBe("setArea('poly', '100, 100, 200, 100, 200, 200'); checkForArea(300, 300
    )", "false"); |  | 
| 67 |  | 
| 68 shouldBe("setArea('default', ''); checkForArea(300, 300)", "true"); |  | 
| 69 |  | 
| 70 document.body.removeChild(image); |  | 
| OLD | NEW | 
|---|