browser_markup_events_04.js (3257B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 /* import-globals-from helper_events_test_runner.js */ 4 5 "use strict"; 6 7 // Test that markup view event bubbles show the correct event info for DOM 8 // events. 9 10 const TEST_URL = URL_ROOT_SSL + "doc_markup_events_04.html"; 11 12 loadHelperScript("helper_events_test_runner.js"); 13 14 const TEST_DATA = [ 15 { 16 selector: "html", 17 expected: [ 18 { 19 type: "click", 20 filename: TEST_URL + ":59:67", 21 attributes: ["Bubbling"], 22 handler: 23 "function(foo2, bar2) {\n" + 24 ' alert("documentElement event listener clicked");\n' + 25 "}", 26 }, 27 { 28 type: "click", 29 filename: TEST_URL + ":55:51", 30 attributes: ["Bubbling"], 31 handler: 32 "function(foo, bar) {\n" + 33 ' alert("document event listener clicked");\n' + 34 "}", 35 }, 36 { 37 type: "load", 38 filename: TEST_URL, 39 attributes: ["Bubbling"], 40 handler: "function onload(event) {\n" + " init();\n" + "}", 41 }, 42 { 43 // Bug 1977628: non-supported, or user defined events are flagged as "User Defined" 44 type: "user-defined", 45 filename: TEST_URL + ":63:59", 46 attributes: ["User-defined", "Bubbling"], 47 handler: 48 "function () {\n" + 49 ` alert("User defined event");\n` + 50 " }", 51 }, 52 ], 53 }, 54 { 55 selector: "#constructed-function", 56 expected: [ 57 { 58 type: "click", 59 filename: TEST_URL + ":1:0", 60 attributes: ["Bubbling"], 61 handler: "function anonymous() {\n" + "\n" + "}", 62 }, 63 ], 64 }, 65 { 66 selector: "#constructed-function-with-body-string", 67 expected: [ 68 { 69 type: "click", 70 filename: TEST_URL + ":1:0", 71 attributes: ["Bubbling"], 72 handler: 73 "function anonymous(a, b, c) {\n" + 74 ' alert("constructedFuncWithBodyString");\n' + 75 "}", 76 }, 77 ], 78 }, 79 { 80 selector: "#multiple-assignment", 81 expected: [ 82 { 83 type: "click", 84 filename: TEST_URL + ":26:47", 85 attributes: ["Bubbling"], 86 handler: 87 "function multi() {\n" + ' alert("multipleAssignment");\n' + "}", 88 }, 89 ], 90 }, 91 { 92 selector: "#promise", 93 expected: [ 94 { 95 type: "click", 96 filename: "[native code]", 97 attributes: ["Bubbling"], 98 handler: "function() {\n" + " [native code]\n" + "}", 99 }, 100 ], 101 }, 102 { 103 selector: "#math-pow", 104 expected: [ 105 { 106 type: "click", 107 filename: "[native code]", 108 attributes: ["Bubbling"], 109 handler: "function pow(, ) {\n" + " [native code]\n" + "}", 110 }, 111 ], 112 }, 113 { 114 selector: "#handleEvent", 115 expected: [ 116 { 117 type: "click", 118 filename: TEST_URL + ":85:29", 119 attributes: ["Bubbling"], 120 handler: 121 "function(event) {\n" + 122 " switch (event.type) {\n" + 123 ' case "click":\n' + 124 ' alert("handleEvent click");\n' + 125 " }\n" + 126 "}", 127 }, 128 ], 129 }, 130 ]; 131 132 add_task(async function () { 133 await runEventPopupTests(TEST_URL, TEST_DATA); 134 });