Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

Commit d9768c5

Browse files
committed
test: add test cases for returning promise
1 parent eefe983 commit d9768c5

File tree

4 files changed

+72
-0
lines changed

4 files changed

+72
-0
lines changed

test/jasmine-patch.spec.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,24 @@ ifEnvSupports(supportJasmineSpec, () => {
4848
expect(itZone).toBe(zone);
4949
});
5050

51+
describe('return promise', () => {
52+
let log: string[];
53+
beforeEach(() => {
54+
log = [];
55+
});
56+
57+
it('should wait for promise to resolve', () => {
58+
return new Promise((res, _) => {
59+
setTimeout(() => {
60+
log.push('resolved');
61+
res();
62+
}, 100);
63+
});
64+
});
65+
66+
afterEach(() => {
67+
expect(log).toEqual(['resolved']);
68+
});
69+
});
5170
});
5271
})();

test/mocha-patch.spec.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,4 +98,23 @@ ifEnvSupports('Mocha', function() {
9898

9999
});
100100

101+
describe('return promise', () => {
102+
let log: string[];
103+
beforeEach(() => {
104+
log = [];
105+
});
106+
107+
it('should wait for promise to resolve', () => {
108+
return new Promise((res, _) => {
109+
setTimeout(() => {
110+
log.push('resolved');
111+
res();
112+
}, 100);
113+
});
114+
});
115+
116+
afterEach(() => {
117+
expect(log).toEqual(['resolved']);
118+
});
119+
});
101120
})();

test/zone-spec/async-test.spec.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,5 +546,19 @@ describe('AsyncTestZoneSpec', function() {
546546
expect(logs).toEqual(['beforeEach', 'timeout']);
547547
}));
548548
});
549+
550+
describe('return promise', () => {
551+
let value = 'init';
552+
it('should only call finish once', testAsync(() => {
553+
return new Promise((resolve, _) => {
554+
setTimeout(() => {
555+
value = 'timeout';
556+
resolve();
557+
}, 100);
558+
});
559+
}, () => {
560+
expect(value).toEqual('timeout');
561+
}));
562+
});
549563
});
550564
});

test/zone-spec/fake-async-test.spec.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -833,6 +833,26 @@ describe('FakeAsyncTestZoneSpec', () => {
833833
});
834834
});
835835

836+
describe('return promise', () => {
837+
let log: string[];
838+
beforeEach(() => {
839+
log = [];
840+
});
841+
842+
it('should wait for promise to resolve', () => {
843+
return new Promise((res, _) => {
844+
setTimeout(() => {
845+
log.push('resolved');
846+
res();
847+
}, 100);
848+
});
849+
});
850+
851+
afterEach(() => {
852+
expect(log).toEqual(['resolved']);
853+
});
854+
});
855+
836856
describe('fakeAsyncTest should patch Date', () => {
837857
let FakeAsyncTestZoneSpec = (Zone as any)['FakeAsyncTestZoneSpec'];
838858
let testZoneSpec: any;

0 commit comments

Comments
 (0)