dom/events/test/test_dom_mouse_event.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/events/test/test_dom_mouse_event.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,141 @@
     1.4 +<!DOCTYPE HTML>
     1.5 +<html>
     1.6 +<head>
     1.7 +  <title>Test for DOM MouseEvent</title>
     1.8 +  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     1.9 +  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
    1.10 +</head>
    1.11 +<body>
    1.12 +<p id="display"></p>
    1.13 +<div id="content" style="display: none">
    1.14 +  
    1.15 +</div>
    1.16 +<pre id="test">
    1.17 +<script type="application/javascript">
    1.18 +
    1.19 +SimpleTest.waitForExplicitFinish();
    1.20 +SimpleTest.waitForFocus(runTests, window);
    1.21 +
    1.22 +function testInitializingUntrustedEvent()
    1.23 +{
    1.24 +  const kTests = [
    1.25 +    { createEventArg: "MouseEvent",
    1.26 +      type: "mousedown", bubbles: true, cancelable: true, view: null, detail: 1,
    1.27 +      screenX: 0, screenY: 0, clientX: 0, clientY: 0,
    1.28 +      ctrlKey: false, altKey: false, shiftKey: false, metaKey: false,
    1.29 +      button: 6, relatedTarget: null },
    1.30 +
    1.31 +    { createEventArg: "mouseevent",
    1.32 +      type: "mouseup", bubbles: false, cancelable: true, view: window, detail: 2,
    1.33 +      screenX: 0, screenY: 0, clientX: 0, clientY: 400,
    1.34 +      ctrlKey: true, altKey: false, shiftKey: false, metaKey: false,
    1.35 +      button: 1, relatedTarget: document.getElementById("content") },
    1.36 +
    1.37 +    { createEventArg: "Mouseevent",
    1.38 +      type: "click", bubbles: true, cancelable: false, view: null, detail: -5,
    1.39 +      screenX: 0, screenY: 0, clientX: 300, clientY: 0,
    1.40 +      ctrlKey: false, altKey: true, shiftKey: false, metaKey: false,
    1.41 +      button: 2, relatedTarget: document.getElementById("test") },
    1.42 +
    1.43 +    { createEventArg: "mouseEvent",
    1.44 +      type: "dblclick", bubbles: false, cancelable: false, view: window, detail: -1,
    1.45 +      screenX: 0, screenY: 200, clientX: 0, clientY: 0,
    1.46 +      ctrlKey: false, altKey: false, shiftKey: true, metaKey: false,
    1.47 +      button: 12, relatedTarget: document.getElementById("content") },
    1.48 +
    1.49 +    { createEventArg: "MouseEvents",
    1.50 +      type: "mouseenter", bubbles: true, cancelable: true, view: null, detail: 111000,
    1.51 +      screenX: 100, screenY: 0, clientX: 0, clientY: 0,
    1.52 +      ctrlKey: false, altKey: false, shiftKey: false, metaKey: true,
    1.53 +      button: 2, relatedTarget: document.getElementById("test") },
    1.54 +
    1.55 +    { createEventArg: "mouseevents",
    1.56 +      type: "mouseleave", bubbles: false, cancelable: true, view: window, detail: 500,
    1.57 +      screenX: 100, screenY: 500, clientX: 0, clientY: 0,
    1.58 +      ctrlKey: true, altKey: true, shiftKey: false, metaKey: false,
    1.59 +      button: 8, relatedTarget: document.getElementById("content") },
    1.60 +
    1.61 +    { createEventArg: "Mouseevents",
    1.62 +      type: "mouseover", bubbles: true, cancelable: false, view: null, detail: 3,
    1.63 +      screenX: 0, screenY: 0, clientX: 200, clientY: 300,
    1.64 +      ctrlKey: false, altKey: true, shiftKey: false, metaKey: true,
    1.65 +      button: 7, relatedTarget: document.getElementById("test") },
    1.66 +
    1.67 +    { createEventArg: "mouseEvents",
    1.68 +      type: "mouseout", bubbles: false, cancelable: false, view: window, detail: 5,
    1.69 +      screenX: -100, screenY: 300, clientX: 600, clientY: -500,
    1.70 +      ctrlKey: true, altKey: false, shiftKey: true, metaKey: false,
    1.71 +      button: 8, relatedTarget: document.getElementById("content") },
    1.72 +
    1.73 +    { createEventArg: "MouseEvent",
    1.74 +      type: "mousemove", bubbles: false, cancelable: false, view: window, detail: 30,
    1.75 +      screenX: 500, screenY: -100, clientX: -8888, clientY: -5000,
    1.76 +      ctrlKey: true, altKey: false, shiftKey: true, metaKey: true,
    1.77 +      button: 8, relatedTarget: document.getElementById("test") },
    1.78 +
    1.79 +    { createEventArg: "MouseEvent",
    1.80 +      type: "foo", bubbles: false, cancelable: false, view: window, detail: 100,
    1.81 +      screenX: 2000, screenY: 6000, clientX: 5000, clientY: 3000,
    1.82 +      ctrlKey: true, altKey: true, shiftKey: true, metaKey: true,
    1.83 +      button: 8, relatedTarget: document.getElementById("test") },
    1.84 +  ];
    1.85 +
    1.86 +  const kOtherModifierName = [
    1.87 +    "CapsLock", "NumLock", "ScrollLock", "SymbolLock", "Fn", "OS", "AltGraph"
    1.88 +  ];
    1.89 +
    1.90 +  const kInvalidModifierName = [
    1.91 +    "shift", "control", "alt", "meta", "capslock", "numlock", "scrolllock",
    1.92 +    "symbollock", "fn", "os", "altgraph", "Invalid", "Shift Control",
    1.93 +    "Win", "Scroll"
    1.94 +  ];
    1.95 +
    1.96 +  for (var i = 0; i < kTests.length; i++) {
    1.97 +    var description = "testInitializingUntrustedEvent, Index: " + i + ", ";
    1.98 +    const kTest = kTests[i];
    1.99 +    var e = document.createEvent(kTest.createEventArg);
   1.100 +    e.initMouseEvent(kTest.type, kTest.bubbles, kTest.cancelable, kTest.view,
   1.101 +                     kTest.detail, kTest.screenX, kTest.screenY, kTest.clientX, kTest.clientY,
   1.102 +                     kTest.ctrlKey, kTest.altKey, kTest.shiftKey, kTest.metaKey,
   1.103 +                     kTest.button, kTest.relatedTarget);
   1.104 +
   1.105 +    for (var attr in kTest) {
   1.106 +      if (attr == "createEventArg") {
   1.107 +        continue;
   1.108 +      }
   1.109 +      is(e[attr], kTest[attr], description + attr + " returns wrong value");
   1.110 +    }
   1.111 +    is(e.isTrusted, false, description + "isTrusted returns wrong value");
   1.112 +    is(e.buttons, 0, description + "buttons returns wrong value");
   1.113 +
   1.114 +    // getModifierState() tests
   1.115 +    is(e.getModifierState("Shift"), kTest.shiftKey,
   1.116 +       description + "getModifierState(\"Shift\") returns wrong value");
   1.117 +    is(e.getModifierState("Control"), kTest.ctrlKey,
   1.118 +       description + "getModifierState(\"Control\") returns wrong value");
   1.119 +    is(e.getModifierState("Alt"), kTest.altKey,
   1.120 +       description + "getModifierState(\"Alt\") returns wrong value");
   1.121 +    is(e.getModifierState("Meta"), kTest.metaKey,
   1.122 +       description + "getModifierState(\"Meta\") returns wrong value");
   1.123 +
   1.124 +    for (var j = 0; j < kOtherModifierName.length; j++) {
   1.125 +      ok(!e.getModifierState(kOtherModifierName[j]),
   1.126 +         description + "getModifierState(\"" + kOtherModifierName[j] + "\") returns wrong value");
   1.127 +    }
   1.128 +    for (var k = 0; k < kInvalidModifierName.length; k++) {
   1.129 +      ok(!e.getModifierState(kInvalidModifierName[k]),
   1.130 +         description + "getModifierState(\"" + kInvalidModifierName[k] + "\") returns wrong value");
   1.131 +    }
   1.132 +  }
   1.133 +}
   1.134 +
   1.135 +function runTests()
   1.136 +{
   1.137 +  testInitializingUntrustedEvent();
   1.138 +  SimpleTest.finish();
   1.139 +}
   1.140 +
   1.141 +</script>
   1.142 +</pre>
   1.143 +</body>
   1.144 +</html>

mercurial