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();
18
callback();
19
},
20
21
tearDown: function (callback) {
22
//clean up?
23
callback();
24
},
25
26
'1. A listener added with `once` should only listen once and then be removed.': function (test) {
27
28
var emitter = this.emitter;
29
30
emitter.once('test1', function () {
31
test.ok(true, 'The event was raised once');
32
});
33
34
emitter.emit('test1');
35
emitter.emit('test1');
36
37
test.expect(1);
38
test.done();
39
40
},
41
'2. A listener with a TTL of 4 should only listen 4 times.': function (test) {
42
43
var emitter = this.emitter;
44
45
emitter.many('test1', 4, function (value1) {
46
test.ok(true, 'The event was raised 4 times.');
47
});
48
49
emitter.emit('test1', 1);
50
emitter.emit('test1', 2);
51
emitter.emit('test1', 3);
52
emitter.emit('test1', 4);
53
emitter.emit('test1', 5);
54
55
test.expect(4);
56
test.done();
57
58
},
59
'3. A listener with a TTL of 4 should only listen 4 times and pass parameters.': function (test) {
60
61
var emitter = this.emitter;
62
63
emitter.many('test1', 4, function (value1, value2, value3) {
64
test.ok(typeof value1 !== 'undefined', 'got value 1');
65
test.ok(typeof value2 !== 'undefined', 'got value 2');
66
test.ok(typeof value3 !== 'undefined', 'got value 3');
67
});
68
69
emitter.emit('test1', 1, 'A', false);
70
emitter.emit('test1', 2, 'A', false);
71
emitter.emit('test1', 3, 'A', false);
72
emitter.emit('test1', 4, 'A', false);
73
emitter.emit('test1', 5, 'A', false);
74
75
test.done();
76
77
},
78
'4. Remove an event listener by signature.': function (test) {
79
80
var emitter = this.emitter;
81
var count = 0;
82
83
function f1(event) {
84
"event A";
85
test.ok(true, 'The event was raised less than 3 times.');
86
}
87
88
emitter.on('test1', f1);
89
90
function f2(event) {
91
"event B";
92
test.ok(true, 'The event was raised less than 3 times.');
93
}
94
95
emitter.on('test1', f2);
96
97
function f3(event) {
98
"event C";
99
test.ok(true, 'The event was raised less than 3 times.');
100
}
101
102
emitter.on('test1', f3);
103
104
emitter.removeListener('test1', f2);
105
106
emitter.emit('test1');
107
108
test.expect(2);
109
test.done();
110
111
},
112
'5. `removeListener` and `once`': function(test) {
113
114
var emitter = this.emitter;
115
var functionA = function() { test.ok(true, 'Event was fired'); };
116
117
emitter.once('testA', functionA);
118
emitter.removeListener('testA', functionA);
119
120
emitter.emit('testA');
121
122
test.expect(0);
123
test.done();
124
}
125
126
});
127
128