tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 });