<html><head>
<script>
function test()
{
    if (!window.eventSender)
        return;

    var onMacPlatform = false;
    if (navigator.userAgent.search(/\bMac OS X\b/) != -1)
        onMacPlatform = true;

    if (window.testRunner) {
        testRunner.dumpAsText();
    }

    document.body.focus();

    if (onMacPlatform)
        eventSender.keyDown('a', ["ctrlKey"]);
    else
        eventSender.keyDown('a', ["metaKey"]);

    document.getElementById("console").innerHTML = getSelection().baseNode ? "FAIL" : "PASS";
}

</script>
</head>
<body onload="test();">
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=34615">bug 34615</a>. Trying to do a keyboard "select all" using the wrong modifier (e.g. Control on the Mac) should not do anything.
<div id="console">
NOT DONE YET
</div>
</body>
</html>
