chromium/third_party/blink/web_tests/images/image-map-multiple-xhtml.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script>

var test = 1;
var map1;
var map2;
var map3;

function setResult(result)
{
    var message = "FAIL: Unexpected result: " + result;

    if (test === 1) {
        if (result === '1')
            message = "PASS: Hit the first map in the document.";
        map1.name = "anothername";
    }
    if (test === 2) {
        if (result === '2')
            message = "PASS: Hit the second map after the first was renamed.";
        map1.name = "mapname";
    }
    if (test === 3) {
        if (result === '1')
            message = "PASS: Hit the first map after it was renamed back.";
        map1.parentNode.removeChild(map1);
    }
    if (test === 4) {
        if (result === '2')
            message = "PASS: Hit the second map after the first was removed.";
        map2.parentNode.insertBefore(map1, map2);
    }
    if (test === 5) {
        if (result === '1')
            message = "PASS: Hit the first map after it was added back.";
        map2.parentNode.removeChild(map2);
    }
    if (test === 6) {
        if (result === '1')
            message = "PASS: Hit the first map after the second was removed.";
        map3.parentNode.insertBefore(map2, map3);
    }
    if (test === 7) {
        if (result === '1')
            message = "PASS: Hit the first map after the second was re-added.";
    }

    document.getElementById("log").textContent += test + ": " + message + "\n";
    ++test;
}

function runTest()
{
    map1 = document.getElementsByTagName("map")[1];
    map2 = document.getElementsByTagName("map")[2];
    map3 = document.getElementsByTagName("map")[3];

    var numClicks = 7;
    if (!window.eventSender) {
        document.getElementById("log").textContent = "To run the test manually, click " + numClicks + " times in the image rectangle.\n";
        return;
    }
    testRunner.dumpAsText();
    eventSender.mouseMoveTo(50, 50);
    for (var click = 0; numClicks > click; ++click) {
        eventSender.mouseDown();
        eventSender.mouseUp();
    }
}

</script>
</head>
<body onload="runTest()">
<map name="mapName"><area shape="rect" coords="0,0,100,100" onclick="setResult('0')" /></map>
<map name="mapname"><area shape="rect" coords="0,0,100,100" onclick="setResult('1')" /></map>
<map name="mapname"><area shape="rect" coords="0,0,100,100" onclick="setResult('2')" /></map>
<map name="mapname"><area shape="rect" coords="0,0,100,100" onclick="setResult('3')" /></map>
<img src="resources/green.jpg" border="20" width="100" height="100" usemap="#mapname" ismap="ismap" onclick="setResult('img')" />
<div>This tests image map behavior when there are multiple maps with the same name.</div>
<pre id="log" />
</body>
</html>