Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50661 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 two listeners on a single event and emit the event.': function (test) {
27
28
var emitter = this.emitter;
29
30
function functionA() { test.ok(true, 'The event was raised'); }
31
function functionB() { test.ok(true, 'The event was raised'); }
32
33
emitter.on('test2', functionA);
34
emitter.on('test2', functionB);
35
36
emitter.emit('test2');
37
38
test.expect(2);
39
test.done();
40
41
},
42
'2. Add two listeners on a single event and emit the event twice.': function (test) {
43
44
var emitter = this.emitter;
45
46
function functionA() { test.ok(true, 'The event was raised'); }
47
function functionB() { test.ok(true, 'The event was raised'); }
48
49
emitter.on('test2', functionA);
50
emitter.on('test2', functionB);
51
52
emitter.emit('test2');
53
emitter.emit('test2');
54
55
test.expect(4);
56
test.done();
57
58
},
59
'3. Add two listeners on a single event and emit the event with a parameter.': function (test) {
60
61
var emitter = this.emitter;
62
63
function functionA(value1) {
64
test.ok(true, 'The event was raised');
65
test.equal(typeof value1, 'string', 'The event was raised');
66
}
67
68
function functionB(value1) {
69
test.ok(true, 'The event was raised');
70
test.equal(typeof value1, 'string', 'The event was raised');
71
}
72
73
emitter.on('test2', functionA);
74
emitter.on('test2', functionB);
75
76
emitter.emit('test2', 'Hello, Node');
77
78
test.expect(4);
79
test.done();
80
81
},
82
'4. Add two listeners on an single event and emit the event twice with a parameter.': function (test) {
83
84
var emitter = this.emitter;
85
86
function functionA(value1) {
87
test.ok(true, 'The event was raised');
88
test.equal(typeof value1, 'string', 'The event was raised');
89
}
90
91
function functionB(value1) {
92
test.ok(true, 'The event was raised');
93
test.equal(typeof value1, 'string', 'The event was raised');
94
}
95
96
emitter.on('test2', functionA);
97
emitter.on('test2', functionB);
98
99
emitter.emit('test2', 'Hello, Node1');
100
emitter.emit('test2', 'Hello, Node2');
101
102
test.expect(8);
103
test.done();
104
105
},
106
'5. Add two listeners on an single event and emit the event twice with multiple parameters.': function (test) {
107
108
var emitter = this.emitter;
109
110
function functionA(value1, value2, value3) {
111
test.ok(true, 'The event was raised');
112
test.equal(typeof value1, 'string', 'The value named "value1" is OK');
113
test.equal(typeof value2, 'string', 'The value named "value2" is OK');
114
test.equal(typeof value3, 'string', 'The value named "value3" is OK');
115
}
116
117
function functionB(value1, value2, value3) {
118
test.ok(true, 'The event was raised');
119
test.equal(typeof value1, 'string', 'The value named "value1" is OK');
120
test.equal(typeof value2, 'string', 'The value named "value2" is OK');
121
test.equal(typeof value3, 'string', 'The value named "value3" is OK');
122
}
123
124
emitter.on('test2', functionA);
125
emitter.on('test2', functionB);
126
127
emitter.emit('test2', 'Hello, Node1', 'Hello, Node2', 'Hello, Node3');
128
emitter.emit('test2', 'Hello, Node1', 'Hello, Node2', 'Hello, Node3');
129
130
test.expect(16);
131
test.done();
132
133
},
134
'6. Check return values of emit.': function (test) {
135
136
var emitter = this.emitter;
137
138
function functionA() { test.ok(true, 'The event was raised'); }
139
140
emitter.on('test6', functionA);
141
142
test.ok(emitter.emit('test6'), 'emit should return true after calling a listener');
143
test.ok(!emitter.emit('other'), 'emit should return false when no listener was called');
144
145
emitter.onAny(functionA);
146
test.ok(emitter.emit('other'), 'emit should return true after calling an onAny() listener');
147
148
test.expect(5);
149
test.done();
150
},
151
152
});
153
154
155