blob: 465394ba4c05e68450a0274cd03ee8ef48559e23 [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="../../http/tests/inspector/elements-test.js"></script>
<script>
var test = function()
{
InspectorTest.evaluateInConsole("runTestsInPage(getEventListeners)", InspectorTest.completeTest.bind(InspectorTest));
}
</script>
</head>
<body onload="runTest()">
<p id="foo">
Tests getEventListeners() method of console command line API.
</p>
<div id="outer">
<div id="inner">
</div>
</div>
<div id="empty">
</div>
<button id="button" onclick="alert(1)" onmouseover="listener2()"></button>
<button id="invalid" onclick="Invalid JavaScript"></button>
<script>
function listener1()
{
}
function listener2()
{
}
document.getElementById("inner").addEventListener("keydown", listener1, false);
document.getElementById("inner").addEventListener("keydown", listener2, true);
document.getElementById("outer").addEventListener("mousemove", listener1, false);
document.getElementById("outer").addEventListener("mousedown", listener2, true);
document.getElementById("outer").addEventListener("keydown", listener2, true);
function dumpObject(object, prefix)
{
prefix = prefix || "";
var keys = Object.keys(object);
for (var i = 0; i < keys.length; ++i) {
var value = object[keys[i]];
var nameWithPrefix = prefix + keys[i] + ": ";
switch (typeof(value)) {
case "object":
if (value === null) {
output(nameWithPrefix + "null");
break;
}
output(nameWithPrefix + "{");
dumpObject(value, prefix + " ")
output(prefix + "}");
break;
case "string":
output(nameWithPrefix + JSON.stringify(value));
break;
case "function":
var body = value.toString().replace(/[ \n]+/gm, " ");
body = body.replace(/; }/g, " }");
output(nameWithPrefix + body);
break;
default:
output(nameWithPrefix + String(value));
break;
}
}
}
function runTestsInPage(getEventListeners)
{
output("- inner -");
dumpObject(getEventListeners(document.getElementById("inner")));
output("- outer -");
dumpObject(getEventListeners(document.getElementById("outer")));
output("- attribute event listeners -");
dumpObject(getEventListeners(document.getElementById("button")));
output("- empty -");
dumpObject(getEventListeners(document.getElementById("empty")));
output("- invalid -");
dumpObject(getEventListeners(document.getElementById("invalid")));
output("- object -");
output(typeof getEventListeners({}));
output("- null -");
output(typeof getEventListeners(null));
output("- undefined -");
output(typeof getEventListeners(undefined));
output("- window -");
output(typeof getEventListeners(window));
}
</script>
</body>
</html>