mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-21 11:53:07 +09:00
148 lines
3.5 KiB
JavaScript
148 lines
3.5 KiB
JavaScript
/* 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);
|
|
});
|