<body>
<p>Test for <a href="http://bugs.webkit.org/show_bug.cgi?id=7640">bug 7640</a>:
Menu items are displayed as "undefined".</p>
<p>Node.item() should not exist.</p>
<div id=result>&nbsp;</div>
<script>
    if (window.layoutTestController)
        layoutTestController.dumpAsText();

    divElement = document.getElementById("result");
    textNode = divElement.firstChild;

    if (textNode.item != undefined)
        document.getElementById("result").firstChild.data="FAILURE: Node.item = " + textNode.item;
    else if (divElement.item != undefined)
        document.getElementById("result").firstChild.data="FAILURE: HTMLDivElement.item = " + divElement.item;
    else
        document.getElementById("result").firstChild.data="SUCCESS";
</script>
</body>
