Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50655 views
1
var simpleEvents = require('nodeunit').testCase;
2
3
var file = '../../lib/eventemitter2';
4
5
module.exports = simpleEvents({
6
7
setUp: function (callback) {
8
var EventEmitter2;
9
10
if(typeof require !== 'undefined') {
11
EventEmitter2 = require(file).EventEmitter2;
12
}
13
else {
14
EventEmitter2 = window.EventEmitter2;
15
}
16
17
this.emitter = new EventEmitter2({ verbose: true });
18
callback();
19
},
20
21
tearDown: function (callback) {
22
//clean up?
23
callback();
24
},
25
26
'1. Add a single listener on a single event.': function (test) {
27
28
var emitter = this.emitter;
29
30
emitter.on('test1', function () {
31
test.ok(true, 'The event was raised');
32
});
33
34
test.equal(emitter.listeners('test1').length, 1, 'There are three emitters');
35
36
test.expect(1);
37
test.done();
38
39
},
40
'2. Add two listeners on a single event.': function (test) {
41
42
var emitter = this.emitter;
43
44
emitter.on('test1', function () {
45
test.ok(true, 'The event was raised');
46
});
47
48
emitter.on('test1', function () {
49
test.ok(true, 'The event was raised');
50
});
51
52
test.equal(emitter.listeners('test1').length, 2, 'There are three emitters');
53
54
test.expect(1);
55
test.done();
56
57
},
58
'3. Add three listeners on a single event.': function (test) {
59
60
var emitter = this.emitter;
61
62
emitter.on('test1', function () {
63
test.ok(true, 'The event was raised');
64
});
65
66
emitter.on('test1', function () {
67
test.ok(true, 'The event was raised');
68
});
69
70
emitter.on('test1', function () {
71
test.ok(true, 'The event was raised');
72
});
73
74
test.equal(emitter.listeners('test1').length, 3, 'There are three emitters');
75
76
test.expect(1);
77
test.done();
78
79
},
80
'4. Add two listeners to two different events.': function (test) {
81
82
var emitter = this.emitter;
83
84
emitter.on('test1', function () {
85
test.ok(true, 'The event was raised');
86
});
87
88
emitter.on('test1', function () {
89
test.ok(true, 'The event was raised');
90
});
91
92
emitter.on('test2', function () {
93
test.ok(true, 'The event was raised');
94
});
95
96
emitter.on('test2', function () {
97
test.ok(true, 'The event was raised');
98
});
99
100
test.equal(emitter.listeners('test1').length, 2, 'There are two emitters');
101
test.equal(emitter.listeners('test2').length, 2, 'There are two emitters');
102
103
test.expect(2);
104
test.done();
105
106
},
107
'5. Never adding any listeners should yield a listeners array with the length of 0.': function (test) {
108
109
var emitter = this.emitter;
110
111
emitter.on('test1', function () {
112
test.ok(true, 'The event was raised');
113
});
114
115
test.equal(emitter.listeners('test2').length, 0, 'There are no emitters');
116
117
test.expect(1);
118
test.done();
119
},
120
121
'6. the listener added should be the right listener.': function (test) {
122
123
var emitter = this.emitter;
124
var type = 'somelistenerbar';
125
var f = function () {};
126
127
emitter.on(type, f);
128
test.equal(emitter.listeners(type).length, 1, 'There are is one emitters');
129
test.equal(emitter.listeners(type)[0], f, 'The function should be f');
130
131
test.expect(2);
132
test.done();
133
134
},
135
136
'7. should be able to listen on any event' : function (test) {
137
138
var emitter = this.emitter;
139
var type = 'somelistenerbar';
140
var f = function () {
141
test.ok(true, 'the event was fired')
142
};
143
144
emitter.onAny(f);
145
emitter.emit('test23.ns5.ns5', 'someData'); //1
146
emitter.offAny(f);
147
emitter.emit('test21'); //0
148
emitter.onAny(f);
149
emitter.onAny(f);
150
emitter.emit('test23.ns5.ns5', 'someData'); //3
151
152
test.expect(3);
153
test.done();
154
155
},
156
157
'8. should be able to listen on any event (should cause an error)' : function (test) {
158
159
var emitter = this.emitter;
160
var type = 'somelistenerbar';
161
var f = function () {
162
test.ok(true, 'the event was fired')
163
};
164
emitter.onAny(f);
165
166
emitter.emit('error');
167
168
test.expect(1);
169
test.done();
170
171
},
172
173
'9. onAny alias' : function (test) {
174
175
var emitter = this.emitter;
176
var type = 'somelistenerbar';
177
178
var f = function () {
179
test.ok(true, 'the event was fired');
180
};
181
182
emitter.on(f);
183
184
emitter.emit('foo');
185
emitter.emit('bar');
186
187
test.expect(2);
188
test.done();
189
190
}
191
192
});
193
194