<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
<script>
function test()
{
    InspectorProtocol.sendCommand("DOM.getSupportedEventNames", {}, (messageObject) => {
        if ("error" in messageObject)
            ProtocolTest.log(messageObject.error.message);
        else {
            let eventNames = messageObject["result"]["eventNames"];
            ProtocolTest.expectGreaterThan(eventNames.length, 2, "Should have recieved at least two event names.");
            ProtocolTest.expectThat(eventNames.includes("click"), "Should have recieved the \"click\" event name.");
            ProtocolTest.expectThat(eventNames.includes("load"), "Should have recieved the \"load\" event name.");
        }

        ProtocolTest.completeTest();
    });
}
</script>
</head>
<body onload="runTest()">
</body>
</html>
