Skip to content

Commit 4bd33ec

Browse files
committed
update tests
1 parent 37d551a commit 4bd33ec

File tree

1 file changed

+41
-7
lines changed

1 file changed

+41
-7
lines changed

jest/tests/wrappers.test.ts

Lines changed: 41 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const TEST_STACK = `Error: ${TRACE_ERROR_MESSAGE}
2222
at call2 (async https://example2.com/bundle3.js:4:5)
2323
at call1 (https://example1.com/bundle2.js:3:4)`;
2424

25-
describe('wrappers full', () => {
25+
describe('wrappers', () => {
2626
let wrapper: Wrapper;
2727

2828
beforeEach(() => {
@@ -51,16 +51,17 @@ describe('wrappers full', () => {
5151
expect(wrapper.setTimeoutHistory.size).toBe(0);
5252
expect(wrapper.clearTimeoutHistory.size).toBe(0);
5353

54-
const handler = setTimeout(() => {}, 123);
54+
const handler = setTimeout(() => {}, 1e3);
55+
5556
expect(wrapper.onlineTimers.size).toBe(1);
5657
clearTimeout(handler);
57-
5858
expect(wrapper.onlineTimers.size).toBe(0);
59+
5960
expect(wrapper.clearTimeoutHistory.size).toBe(1);
6061
expect(wrapper.setTimeoutHistory.size).toBe(1);
6162
});
6263

63-
test('setTimeoutHistory - isOnline/canceledByTraceId handled after timer fired', async () => {
64+
test('setTimeoutHistory - isOnline/canceledByTraceId/selfTime handled after timer fired', async () => {
6465
const DELAY = 5;
6566
setTimeout(() => {}, DELAY);
6667

@@ -72,9 +73,10 @@ describe('wrappers full', () => {
7273

7374
expect(rec.isOnline).toBe(false);
7475
expect(rec.canceledByTraceIds).toBe(null);
76+
expect(rec.selfTime).not.toBeNull();
7577
});
7678

77-
test('setTimeoutHistory - isOnline/canceledByTraceId handled after timer canceled', () => {
79+
test('setTimeoutHistory - isOnline/canceledByTraceId/selfTime handled after timer canceled', () => {
7880
function setTimeout_function(delay: number) {
7981
return Number(setTimeout(() => {}, delay));
8082
}
@@ -96,6 +98,7 @@ describe('wrappers full', () => {
9698
const rec = Array.from(wrapper.setTimeoutHistory.values())[0];
9799

98100
expect(rec.isOnline).toBe(false);
101+
expect(rec.selfTime).toBeNull();
99102
if (rec.canceledByTraceIds) {
100103
expect(rec.canceledByTraceIds.length).toBe(2);
101104

@@ -121,6 +124,7 @@ describe('wrappers full', () => {
121124
expect(rec.traceId.length).toBeGreaterThan(0);
122125

123126
clearTimeout(handler);
127+
expect(rec.selfTime).toBeNull();
124128
});
125129

126130
test('setTimeoutHistory - invalid delay', () => {
@@ -133,12 +137,35 @@ describe('wrappers full', () => {
133137
expect(rec.isEval).toBe(false);
134138
});
135139

140+
test('setTimeout - poling registers selfTime', async () => {
141+
await new Promise<void>((resolve) => {
142+
let called = 0;
143+
let handler: number;
144+
145+
function poll() {
146+
called++;
147+
148+
if (called > 1) {
149+
resolve();
150+
} else {
151+
handler && clearTimeout(handler);
152+
handler = Number(setTimeout(poll, 2));
153+
}
154+
}
155+
poll();
156+
});
157+
158+
const rec = Array.from(wrapper.setTimeoutHistory.values())[0];
159+
expect(rec.selfTime).not.toBeNull();
160+
}, 1e3);
161+
136162
test('clearTimeoutHistory - valid handler', () => {
137163
const handler = setTimeout(() => {}, 1e3);
138164
clearTimeout(handler);
139165

140166
const rec = Array.from(wrapper.clearTimeoutHistory.values())[0];
141167

168+
expect(rec.handler).toBe(handler);
142169
expect(rec.delay).toBe(1e3);
143170
});
144171

@@ -182,16 +209,21 @@ describe('wrappers full', () => {
182209
expect(rec.isOnline).toBe(false);
183210
});
184211

185-
test('setIntervalHistory - valid delay', () => {
212+
test('setIntervalHistory - valid delay', async () => {
186213
const DELAY = 123;
187-
const handler = setInterval(() => {}, DELAY);
214+
const handler = await new Promise<number>((resolve) => {
215+
const handler = setInterval(() => {
216+
resolve(Number(handler));
217+
}, DELAY);
218+
});
188219
const rec = Array.from(wrapper.setIntervalHistory.values())[0];
189220

190221
expect(rec.calls).toBe(1);
191222
expect(rec.delay).toBe(DELAY);
192223
expect(rec.isEval).toBe(false);
193224
expect(rec.trace.length).toBeGreaterThan(1);
194225
expect(rec.traceId.length).toBeGreaterThan(0);
226+
expect(rec.selfTime).not.toBeNull();
195227

196228
clearInterval(handler);
197229
});
@@ -250,6 +282,7 @@ describe('wrappers full', () => {
250282
expect(rec.returnedValue).toBe(RESULT);
251283
expect(rec.trace.length).toBeGreaterThan(1);
252284
expect(rec.traceId.length).toBeGreaterThan(0);
285+
expect(rec.selfTime).not.toBeNull();
253286
});
254287

255288
test('evalHistory - detects local scope usage', () => {
@@ -304,6 +337,7 @@ describe('wrappers full', () => {
304337
expect(rec.calls).toBe(1);
305338
expect(rec.trace.length).toBeGreaterThan(1);
306339
expect(rec.traceId.length).toBeGreaterThan(1);
340+
expect(rec.selfTime).not.toBeNull();
307341
expect(wrapper.callCounter.requestAnimationFrame).toBe(1);
308342
});
309343

0 commit comments

Comments
 (0)