Skip to content

Commit 0674730

Browse files
committed
fix tests (async sub dispatch)
1 parent 7234f59 commit 0674730

1 file changed

Lines changed: 25 additions & 12 deletions

File tree

tea-cup/src/TeaCup/DocumentEvents.test.tsx

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ describe('DocumentEvents Test', () => {
7777
expect(removeSpy.mock.calls.length).toBe(2);
7878
});
7979

80-
it('sub receives event from listener', () => {
80+
it('sub receives event from listener', (done) => {
8181
const msgs: string[] = [];
8282
const collectMsgs = (msg: string): void => {
8383
msgs.push(msg);
@@ -90,10 +90,13 @@ describe('DocumentEvents Test', () => {
9090
const listener = addSpy.mock.calls[0][1];
9191

9292
listener({ event: 'event' });
93-
expect(msgs).toEqual(['clicked1']);
93+
setTimeout(() => {
94+
expect(msgs).toEqual(['clicked1']);
95+
done();
96+
}, 10);
9497
});
9598

96-
it('each sub receive events its listener', () => {
99+
it('each sub receive events its listener', (done) => {
97100
const msgs: string[] = [];
98101
const collectMsgs = (msg: string): void => {
99102
msgs.push(msg);
@@ -114,12 +117,17 @@ describe('DocumentEvents Test', () => {
114117
const listener2 = addSpy.mock.calls[1][1];
115118

116119
listener({ event: 'event' });
117-
expect(msgs).toEqual(['clicked']);
118-
listener2({ event: 'event' });
119-
expect(msgs2).toEqual(['clicked2']);
120+
setTimeout(() => {
121+
expect(msgs).toEqual(['clicked']);
122+
listener2({ event: 'event' });
123+
setTimeout(() => {
124+
expect(msgs2).toEqual(['clicked2']);
125+
done();
126+
}, 10)
127+
}, 10)
120128
});
121129

122-
it('sub stops receiving events from listener', () => {
130+
it('sub stops receiving events from listener', (done) => {
123131
const sub = documentEvents.on('click', (e) => 'clicked1');
124132

125133
const msgs: string[] = [];
@@ -132,11 +140,16 @@ describe('DocumentEvents Test', () => {
132140

133141
listener({ event: 'event' });
134142
listener({ event: 'event' });
135-
expect(msgs).toEqual(['clicked1', 'clicked1']);
136-
137-
sub.release();
138-
listener({ event: 'event' });
139-
expect(msgs).toEqual(['clicked1', 'clicked1']);
143+
setTimeout(() => {
144+
expect(msgs).toEqual(['clicked1', 'clicked1']);
145+
146+
sub.release();
147+
listener({ event: 'event' });
148+
setTimeout(() => {
149+
expect(msgs).toEqual(['clicked1', 'clicked1']);
150+
done();
151+
});
152+
}, 10)
140153
});
141154

142155
});

0 commit comments

Comments
 (0)