diff options
Diffstat (limited to 'devtools/client/inspector/markup/test/browser_markup_events1.js')
-rw-r--r-- | devtools/client/inspector/markup/test/browser_markup_events1.js | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_events1.js b/devtools/client/inspector/markup/test/browser_markup_events1.js new file mode 100644 index 000000000..dbfd4a5c3 --- /dev/null +++ b/devtools/client/inspector/markup/test/browser_markup_events1.js @@ -0,0 +1,149 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +/* import-globals-from helper_events_test_runner.js */ + +"use strict"; + +// Test that markup view event bubbles show the correct event info for DOM +// events. + +const TEST_URL = URL_ROOT + "doc_markup_events1.html"; + +loadHelperScript("helper_events_test_runner.js"); + +const TEST_DATA = [ // eslint-disable-line + { + selector: "html", + expected: [ + { + type: "load", + filename: TEST_URL, + attributes: [ + "Bubbling", + "DOM0" + ], + handler: "init();" + } + ] + }, + { + selector: "#container", + expected: [ + { + type: "mouseover", + filename: TEST_URL + ":45", + attributes: [ + "Capturing", + "DOM2" + ], + handler: "function mouseoverHandler(event) {\n" + + " if (event.target.id !== \"container\") {\n" + + " let output = document.getElementById(\"output\");\n" + + " output.textContent = event.target.textContent;\n" + + " }\n" + + "}" + } + ] + }, + { + selector: "#multiple", + expected: [ + { + type: "click", + filename: TEST_URL + ":52", + attributes: [ + "Bubbling", + "DOM2" + ], + handler: "function clickHandler(event) {\n" + + " let output = document.getElementById(\"output\");\n" + + " output.textContent = \"click\";\n" + + "}" + }, + { + type: "mouseup", + filename: TEST_URL + ":57", + attributes: [ + "Bubbling", + "DOM2" + ], + handler: "function mouseupHandler(event) {\n" + + " let output = document.getElementById(\"output\");\n" + + " output.textContent = \"mouseup\";\n" + + "}" + } + ] + }, + // #noevents tests check that dynamically added events are properly displayed + // in the markupview + { + selector: "#noevents", + expected: [] + }, + { + selector: "#noevents", + beforeTest: function* (inspector, testActor) { + let nodeMutated = inspector.once("markupmutation"); + yield testActor.eval("window.wrappedJSObject.addNoeventsClickHandler();"); + yield nodeMutated; + }, + expected: [ + { + type: "click", + filename: TEST_URL + ":72", + attributes: [ + "Bubbling", + "DOM2" + ], + handler: "function noeventsClickHandler(event) {\n" + + " alert(\"noevents has an event listener\");\n" + + "}" + } + ] + }, + { + selector: "#noevents", + beforeTest: function* (inspector, testActor) { + let nodeMutated = inspector.once("markupmutation"); + yield testActor.eval( + "window.wrappedJSObject.removeNoeventsClickHandler();"); + yield nodeMutated; + }, + expected: [] + }, + { + selector: "#DOM0", + expected: [ + { + type: "click", + filename: TEST_URL, + attributes: [ + "Bubbling", + "DOM0" + ], + handler: "alert('DOM0')" + } + ] + }, + { + selector: "#handleevent", + expected: [ + { + type: "click", + filename: TEST_URL + ":67", + attributes: [ + "Bubbling", + "DOM2" + ], + handler: "handleEvent: function(blah) {\n" + + " alert(\"handleEvent\");\n" + + "}" + } + ] + } +]; + +add_task(function* () { + yield runEventPopupTests(TEST_URL, TEST_DATA); +}); |