|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 "use strict"; |
|
6 |
|
7 const events = require("sdk/dom/events"); |
|
8 const { activeBrowserWindow: { document } } = require("sdk/deprecated/window-utils"); |
|
9 const window = document.window; |
|
10 /* |
|
11 exports["test on / emit"] = function (assert, done) { |
|
12 let element = document.createElement("div"); |
|
13 events.on(element, "click", function listener(event) { |
|
14 assert.equal(event.target, element, "event has correct target"); |
|
15 events.removeListener(element, "click", listener); |
|
16 done(); |
|
17 }); |
|
18 |
|
19 events.emit(element, "click", { |
|
20 category: "MouseEvents", |
|
21 settings: [ |
|
22 true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null |
|
23 ] |
|
24 }); |
|
25 }; |
|
26 |
|
27 exports["test remove"] = function (assert, done) { |
|
28 let element = document.createElement("span"); |
|
29 let l1 = 0; |
|
30 let l2 = 0; |
|
31 let options = { |
|
32 category: "MouseEvents", |
|
33 settings: [ |
|
34 true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null |
|
35 ] |
|
36 }; |
|
37 |
|
38 events.on(element, "click", function listener1(event) { |
|
39 l1 ++; |
|
40 assert.equal(event.target, element, "event has correct target"); |
|
41 events.removeListener(element, "click", listener1); |
|
42 }); |
|
43 |
|
44 events.on(element, "click", function listener2(event) { |
|
45 l2 ++; |
|
46 if (l1 < l2) { |
|
47 assert.equal(l1, 1, "firs listener was called and then romeved"); |
|
48 events.removeListener(element, "click", listener2); |
|
49 done(); |
|
50 } |
|
51 events.emit(element, "click", options); |
|
52 }); |
|
53 |
|
54 events.emit(element, "click", options); |
|
55 }; |
|
56 |
|
57 exports["test once"] = function (assert, done) { |
|
58 let element = document.createElement("h1"); |
|
59 let l1 = 0; |
|
60 let l2 = 0; |
|
61 let options = { |
|
62 category: "MouseEvents", |
|
63 settings: [ |
|
64 true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null |
|
65 ] |
|
66 }; |
|
67 |
|
68 |
|
69 events.once(element, "click", function listener(event) { |
|
70 assert.equal(event.target, element, "event target is a correct element"); |
|
71 l1 ++; |
|
72 }); |
|
73 |
|
74 events.on(element, "click", function listener(event) { |
|
75 l2 ++; |
|
76 if (l2 > 3) { |
|
77 events.removeListener(element, "click", listener); |
|
78 assert.equal(event.target, element, "event has correct target"); |
|
79 assert.equal(l1, 1, "once was called only once"); |
|
80 done(); |
|
81 } |
|
82 events.emit(element, "click", options); |
|
83 }); |
|
84 |
|
85 events.emit(element, "click", options); |
|
86 } |
|
87 */ |
|
88 require("test").run(exports); |