| <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> |