-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathevents.spec.ts
More file actions
24 lines (23 loc) · 800 Bytes
/
events.spec.ts
File metadata and controls
24 lines (23 loc) · 800 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { Event, onType, Events } from './events';
describe('events', () => {
test('onType', () => {
class E1 extends Event {}
class E2 extends Event {}
const pred = onType(E1);
expect(pred(new E1())).toBe(true);
expect(pred(new E2())).toBe(false);
});
test('removes listener', () => {
const spy = Events.listen(jest.fn().mockReturnValue('remove'), e => true).callback as any as jest.SpyInstance;
Events.fire(new class extends Event { });
expect(spy).toBeCalled();
spy.mockClear();
Events.fire(new class extends Event { });
expect(spy).not.toBeCalled();
});
test('gets name', () => {
class E1 extends Event {}
const e = new E1();
expect(e.name).toBe('E1');
});
});