tor-browser

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

test_dom_mouse_event.html (6037B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>Test for DOM MouseEvent</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
      7 </head>
      8 <body>
      9 <p id="display"></p>
     10 <div id="content" style="display: none">
     11  
     12 </div>
     13 <pre id="test">
     14 <script type="application/javascript">
     15 
     16 SimpleTest.waitForExplicitFinish();
     17 SimpleTest.waitForFocus(runTests, window);
     18 
     19 function testInitializingUntrustedEvent()
     20 {
     21  const kTests = [
     22    { createEventArg: "MouseEvent",
     23      type: "mousedown", bubbles: true, cancelable: true, view: null, detail: 1,
     24      screenX: 0, screenY: 0, clientX: 0, clientY: 0,
     25      ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
     26      button: 6, relatedTarget: null },
     27 
     28    { createEventArg: "mouseevent",
     29      type: "mouseup", bubbles: false, cancelable: true, view: window, detail: 2,
     30      screenX: 0, screenY: 0, clientX: 0, clientY: 400,
     31      ctrlKey: true, altKey: false, shiftKey: false, metaKey: false,
     32      button: 1, relatedTarget: document.getElementById("content") },
     33 
     34    { createEventArg: "Mouseevent",
     35      type: "click", bubbles: true, cancelable: false, view: null, detail: -5,
     36      screenX: 0, screenY: 0, clientX: 300, clientY: 0,
     37      ctrlKey: false, altKey: true, shiftKey: false, metaKey: false,
     38      button: 2, relatedTarget: document.getElementById("test") },
     39 
     40    { createEventArg: "mouseEvent",
     41      type: "dblclick", bubbles: false, cancelable: false, view: window, detail: -1,
     42      screenX: 0, screenY: 200, clientX: 0, clientY: 0,
     43      ctrlKey: false, altKey: false, shiftKey: true, metaKey: false,
     44      button: 12, relatedTarget: document.getElementById("content") },
     45 
     46    { createEventArg: "MouseEvents",
     47      type: "mouseenter", bubbles: true, cancelable: true, view: null, detail: 111000,
     48      screenX: 100, screenY: 0, clientX: 0, clientY: 0,
     49      ctrlKey: false, altKey: false, shiftKey: false, metaKey: true,
     50      button: 2, relatedTarget: document.getElementById("test") },
     51 
     52    { createEventArg: "mouseevents",
     53      type: "mouseleave", bubbles: false, cancelable: true, view: window, detail: 500,
     54      screenX: 100, screenY: 500, clientX: 0, clientY: 0,
     55      ctrlKey: true, altKey: true, shiftKey: false, metaKey: false,
     56      button: 8, relatedTarget: document.getElementById("content") },
     57 
     58    { createEventArg: "Mouseevents",
     59      type: "mouseover", bubbles: true, cancelable: false, view: null, detail: 3,
     60      screenX: 0, screenY: 0, clientX: 200, clientY: 300,
     61      ctrlKey: false, altKey: true, shiftKey: false, metaKey: true,
     62      button: 7, relatedTarget: document.getElementById("test") },
     63 
     64    { createEventArg: "mouseEvents",
     65      type: "mouseout", bubbles: false, cancelable: false, view: window, detail: 5,
     66      screenX: -100, screenY: 300, clientX: 600, clientY: -500,
     67      ctrlKey: true, altKey: false, shiftKey: true, metaKey: false,
     68      button: 8, relatedTarget: document.getElementById("content") },
     69 
     70    { createEventArg: "MouseEvent",
     71      type: "mousemove", bubbles: false, cancelable: false, view: window, detail: 30,
     72      screenX: 500, screenY: -100, clientX: -8888, clientY: -5000,
     73      ctrlKey: true, altKey: false, shiftKey: true, metaKey: true,
     74      button: 8, relatedTarget: document.getElementById("test") },
     75 
     76    { createEventArg: "MouseEvent",
     77      type: "foo", bubbles: false, cancelable: false, view: window, detail: 100,
     78      screenX: 2000, screenY: 6000, clientX: 5000, clientY: 3000,
     79      ctrlKey: true, altKey: true, shiftKey: true, metaKey: true,
     80      button: 8, relatedTarget: document.getElementById("test") },
     81  ];
     82 
     83  const kOtherModifierName = [
     84    "CapsLock", "NumLock", "ScrollLock", "Symbol", "SymbolLock", "Fn", "FnLock", "AltGraph"
     85  ];
     86 
     87  const kInvalidModifierName = [
     88    "shift", "control", "alt", "meta", "capslock", "numlock", "scrolllock",
     89    "symbollock", "fn", "OS", "altgraph", "Invalid", "Shift Control",
     90    "Win", "Scroll"
     91  ];
     92 
     93  for (var i = 0; i < kTests.length; i++) {
     94    var description = "testInitializingUntrustedEvent, Index: " + i + ", ";
     95    const kTest = kTests[i];
     96    var e = document.createEvent(kTest.createEventArg);
     97    e.initMouseEvent(kTest.type, kTest.bubbles, kTest.cancelable, kTest.view,
     98                     kTest.detail, kTest.screenX, kTest.screenY, kTest.clientX, kTest.clientY,
     99                     kTest.ctrlKey, kTest.altKey, kTest.shiftKey, kTest.metaKey,
    100                     kTest.button, kTest.relatedTarget);
    101 
    102    for (var attr in kTest) {
    103      if (attr == "createEventArg") {
    104        continue;
    105      }
    106      is(e[attr], kTest[attr], description + attr + " returns wrong value");
    107    }
    108    is(e.isTrusted, false, description + "isTrusted returns wrong value");
    109    is(e.buttons, 0, description + "buttons returns wrong value");
    110    is(e.movementX, 0, description + "movementX returns wrong value");
    111    is(e.movementY, 0, description + "movementY returns wrong value");
    112 
    113    // getModifierState() tests
    114    is(e.getModifierState("Shift"), kTest.shiftKey,
    115       description + "getModifierState(\"Shift\") returns wrong value");
    116    is(e.getModifierState("Control"), kTest.ctrlKey,
    117       description + "getModifierState(\"Control\") returns wrong value");
    118    is(e.getModifierState("Alt"), kTest.altKey,
    119       description + "getModifierState(\"Alt\") returns wrong value");
    120    is(e.getModifierState("Meta"), kTest.metaKey,
    121       description + "getModifierState(\"Meta\") returns wrong value");
    122 
    123    for (var j = 0; j < kOtherModifierName.length; j++) {
    124      ok(!e.getModifierState(kOtherModifierName[j]),
    125         description + "getModifierState(\"" + kOtherModifierName[j] + "\") returns wrong value");
    126    }
    127    for (var k = 0; k < kInvalidModifierName.length; k++) {
    128      ok(!e.getModifierState(kInvalidModifierName[k]),
    129         description + "getModifierState(\"" + kInvalidModifierName[k] + "\") returns wrong value");
    130    }
    131  }
    132 }
    133 
    134 function runTests()
    135 {
    136  testInitializingUntrustedEvent();
    137  SimpleTest.finish();
    138 }
    139 
    140 </script>
    141 </pre>
    142 </body>
    143 </html>