Skip to content

Commit 0ec164e

Browse files
committed
coverage badge
1 parent ff77be9 commit 0ec164e

File tree

1 file changed

+0
-285
lines changed

1 file changed

+0
-285
lines changed

tests/EventEmitter.test.ts

Lines changed: 0 additions & 285 deletions
Original file line numberDiff line numberDiff line change
@@ -12,291 +12,6 @@ describe('Event Emitter Tests', () => {
1212
expect(actual).to.be.instanceOf(EventEmitter);
1313
})
1414

15-
it('Should match', async () => {
16-
const emitter = new EventEmitter()
17-
18-
emitter.on('match something', x => {})
19-
emitter.on(/match (something)/g, x => {})
20-
emitter.on(/match (some)(thing)/i, x => {})
21-
emitter.on(/match (some)(thing)/i, x => {})
22-
emitter.on('no mas', x => {})
23-
emitter.on(/no mas/g, x => {})
24-
25-
const matches = emitter.match('match something')
26-
27-
expect(matches.get('match something')?.pattern).to.equal('match something')
28-
expect(matches.get('/match (something)/g')?.pattern).to.equal('/match (something)/g')
29-
expect(matches.get('/match (some)(thing)/i')?.pattern).to.equal('/match (some)(thing)/i')
30-
31-
expect(matches.get('/match (something)/g')?.data.args.length).to.equal(1)
32-
expect(matches.get('/match (some)(thing)/i')?.data.args.length).to.equal(2)
33-
})
34-
35-
it('Should emit', async () => {
36-
const emitter = new EventEmitter<{
37-
'trigger basic something': [number],
38-
'/trigger basic something/': [number],
39-
'trigger advance something': [number],
40-
'trigger incomplete something': [number]
41-
}>
42-
43-
const triggered: number[] = []
44-
emitter.on('trigger basic something', async (x) => {
45-
expect(x).to.equal(1)
46-
triggered.push(1)
47-
}, 1)
48-
49-
emitter.on<'/trigger basic something/'>(/trigger basic something/, async x => {
50-
expect(x).to.equal(1)
51-
triggered.push(2)
52-
}, 2)
53-
54-
emitter.on('trigger basic something', async x => {
55-
expect(x).to.equal(1)
56-
triggered.push(3)
57-
}, 3)
58-
59-
emitter.on(/trigger basic something/, async x => {
60-
expect(x).to.equal(1)
61-
triggered.push(4)
62-
}, 4)
63-
64-
await emitter.emit('trigger basic something', 1)
65-
66-
expect(triggered.length).to.equal(4)
67-
expect(triggered[0]).to.equal(4)
68-
expect(triggered[1]).to.equal(3)
69-
expect(triggered[2]).to.equal(2)
70-
expect(triggered[3]).to.equal(1)
71-
})
72-
73-
it('Should call all listeners', async () => {
74-
const emitter = new EventEmitter
75-
76-
const triggered: number[] = []
77-
emitter.on('trigger basic something', async x => {
78-
expect(x).to.equal(1)
79-
triggered.push(1)
80-
})
81-
82-
emitter.on('trigger basic something', async x => {
83-
expect(x).to.equal(1)
84-
triggered.push(2)
85-
})
86-
87-
emitter.on('trigger basic something', async x => {
88-
expect(x).to.equal(1)
89-
triggered.push(3)
90-
})
91-
92-
await emitter.emit('trigger basic something', 1)
93-
94-
expect(triggered.length).to.equal(3)
95-
expect(triggered[0]).to.equal(1)
96-
expect(triggered[1]).to.equal(2)
97-
expect(triggered[2]).to.equal(3)
98-
})
99-
100-
it('Should have meta', async () => {
101-
const emitter = new EventEmitter
102-
103-
const triggered: number[] = []
104-
emitter.on(/^trigger basic (.+)$/, async function something1() {
105-
expect(emitter.event?.event).to.equal('trigger basic something')
106-
expect(emitter.event?.pattern).to.equal('/^trigger basic (.+)$/')
107-
expect(emitter.event?.data.args[0]).to.equal('something')
108-
triggered.push(1)
109-
}, 2)
110-
111-
emitter.on(/trigger (.+) something$/, async function something2() {
112-
expect(emitter.event?.event).to.equal('trigger basic something')
113-
expect(emitter.event?.pattern).to.equal('/trigger (.+) something$/')
114-
expect(emitter.event?.data.args[0]).to.equal('basic')
115-
triggered.push(2)
116-
}, 1)
117-
118-
const actual = await emitter.emit('trigger basic something', 1)
119-
120-
expect(triggered.length).to.equal(2)
121-
expect(triggered[0]).to.equal(1)
122-
expect(triggered[1]).to.equal(2)
123-
expect(actual.code).to.equal(200)
124-
})
125-
126-
it('Should emit advanced event', async () => {
127-
const emitter = new EventEmitter
128-
129-
const triggered: number[] = []
130-
emitter.on('trigger advance something', async x => {
131-
expect(x).to.equal(1)
132-
triggered.push(1)
133-
})
134-
135-
emitter.on(/trigger (advance) something/, async x => {
136-
expect(x).to.equal(1)
137-
triggered.push(2)
138-
expect(emitter.event?.data.args[0]).to.equal('advance')
139-
}, 2)
140-
141-
const actual = await emitter.emit('trigger advance something', 1)
142-
143-
expect(triggered.length).to.equal(2)
144-
expect(triggered[0]).to.equal(2)
145-
expect(triggered[1]).to.equal(1)
146-
expect(actual.code).to.equal(200)
147-
})
148-
149-
it('Should emit incomplete event', async () => {
150-
const emitter = new EventEmitter
151-
152-
const triggered: number[] = []
153-
emitter.on('trigger incomplete something', async x => {
154-
triggered.push(1)
155-
})
156-
157-
emitter.on(/trigger (incomplete) something/, async x => {
158-
expect(x).to.equal(1)
159-
triggered.push(2)
160-
return false
161-
}, 2)
162-
163-
const actual = await emitter.emit('trigger incomplete something', 1)
164-
165-
expect(triggered.length).to.equal(1)
166-
expect(triggered[0]).to.equal(2)
167-
expect(actual.code).to.equal(309)
168-
})
169-
170-
it('Should unbind', async () => {
171-
const emitter = new EventEmitter
172-
let listener = async x => {
173-
triggered.push(1)
174-
}
175-
176-
const triggered: number[] = []
177-
emitter.on('trigger unbind something', listener)
178-
179-
emitter.clear('trigger unbind something')
180-
const actual = await emitter.emit('trigger unbind something')
181-
182-
expect(triggered.length).to.equal(0)
183-
expect(actual.code).to.equal(404)
184-
185-
let listener2 = async x => {
186-
triggered.push(2)
187-
}
188-
189-
emitter.on('trigger unbind something', listener)
190-
emitter.on('trigger unbind something', listener2)
191-
emitter.unbind('trigger unbind something', listener)
192-
193-
const actual2 = await emitter.emit('trigger unbind something')
194-
195-
expect(triggered.length).to.equal(1)
196-
expect(triggered[0]).to.equal(2)
197-
expect(actual2.code).to.equal(200)
198-
})
199-
200-
it('Should nest', async () => {
201-
const emitter = new EventEmitter<{
202-
'on something': [number],
203-
'on something else': [number]
204-
}>();
205-
206-
emitter.on('on something', async x => {
207-
expect(emitter.event?.event).to.equal('on something')
208-
const actual = await emitter.emit('on something else', x + 1)
209-
expect(actual.code).to.equal(200)
210-
})
211-
212-
emitter.on('on something else', x => {
213-
expect(emitter.event?.event).to.equal('on something else')
214-
})
215-
216-
await emitter.emit('on something', 1)
217-
})
218-
219-
it('Should listen to regexp', async () => {
220-
const emitter = new EventEmitter
221-
222-
let triggered = 0
223-
emitter.on('GET /components/heyo/beans', async x => {
224-
expect(emitter.event?.event).to.equal('GET /components/heyo/beans')
225-
triggered ++
226-
})
227-
228-
emitter.on(/^GET\s\/components\/(.*)\/*$/, async x => {
229-
expect(emitter.event?.event).to.equal('GET /components/heyo/beans')
230-
triggered ++
231-
expect(emitter.event?.data.args[0]).to.equal('heyo/beans')
232-
})
233-
234-
await emitter.emit('GET /components/heyo/beans', 1)
235-
236-
expect(triggered).to.equal(2)
237-
})
238-
239-
it('Should asyncronously emit', async() => {
240-
const emitter = new EventEmitter();
241-
242-
const actual: number[] = []
243-
244-
emitter.on('async test', async() => {
245-
actual.push(1)
246-
})
247-
248-
emitter.on('async test', async() => {
249-
actual.push(2)
250-
})
251-
252-
emitter.on('async test', async() => {
253-
actual.push(3)
254-
})
255-
256-
await emitter.emit('async test', 0)
257-
258-
expect(actual.length).to.equal(3)
259-
})
260-
261-
it('Should allow middleware', async() => {
262-
const emitter1 = new EventEmitter
263-
const emitter2 = new EventEmitter
264-
265-
const triggered: number[] = []
266-
emitter1.on('trigger basic something', async x => {
267-
expect(x).to.equal(1)
268-
triggered.push(1)
269-
}, 1)
270-
271-
emitter2.on('trigger basic something', async x => {
272-
expect(x).to.equal(1)
273-
triggered.push(2)
274-
}, 2)
275-
276-
emitter1.use(emitter2)
277-
278-
await emitter1.emit('trigger basic something', 1)
279-
280-
expect(triggered.length).to.equal(2)
281-
expect(triggered[0]).to.equal(2)
282-
expect(triggered[1]).to.equal(1)
283-
})
284-
285-
it('Should handle clearing a non-existent event gracefully', () => {
286-
const emitter = new EventEmitter();
287-
expect(emitter.listeners['non-existent event']).to.be.undefined;
288-
emitter.clear('non-existent event');
289-
expect(emitter.listeners['non-existent event']).to.be.undefined;
290-
})
291-
292-
it('Should return empty matches when no patterns match', () => {
293-
const emitter = new EventEmitter();
294-
emitter.on('exampleEvent', async () => {});
295-
emitter.on(/regexEvent/, async () => {});
296-
const matches = emitter.match('nonMatchingEvent');
297-
expect(matches.size).to.equal(0);
298-
})
299-
30015
it('Should hook', async () => {
30116
const emitter = new EventEmitter<{
30217
'on something': [number],

0 commit comments

Comments
 (0)