summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/popupNotifications/browser_popupNotification_accesskey.js
blob: 4a68105e2799caa7af05c3f9879897b325873afc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

function test() {
  waitForExplicitFinish();

  ok(PopupNotifications, "PopupNotifications object exists");
  ok(PopupNotifications.panel, "PopupNotifications panel exists");

  setup();
}

let buttonPressed = false;

function commandTriggered() {
  buttonPressed = true;
}

var tests = [
  // This test ensures that the accesskey closes the popup.
  {
    id: "Test#1",
    run() {
      this.notifyObj = new BasicNotification(this.id);
      showNotification(this.notifyObj);
    },
    onShown(popup) {
      window.addEventListener("command", commandTriggered, true);
      checkPopup(popup, this.notifyObj);
      EventUtils.synthesizeKey("VK_ALT", { type: "keydown" });
      EventUtils.synthesizeKey("M", { altKey: true });
      EventUtils.synthesizeKey("VK_ALT", { type: "keyup" });

      // If bug xxx was present, then the popup would be in the
      // process of being hidden right now.
      isnot(popup.state, "hiding", "popup is not hiding");
    },
    onHidden(popup) {
      window.removeEventListener("command", commandTriggered, true);
      ok(buttonPressed, "button pressed");
    },
  },
];