Skip to content

Commit 12caf59

Browse files
committed
Add tests
1 parent 6d322bb commit 12caf59

File tree

4 files changed

+53
-0
lines changed

4 files changed

+53
-0
lines changed

tests/baselines/reference/promiseType.js

+10
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,13 @@ const pc6 = p.then(() => Promise.reject("1"), () => {});
217217
const pc7 = p.then(() => Promise.reject("1"), () => {throw 1});
218218
const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1));
219219
const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1));
220+
221+
// #27711
222+
223+
const p2: Promise<number> = new Promise<Promise<number>>(() => {});
224+
225+
declare function f(resolve: (value: Promise<number> | string) => void);
226+
new Promise(f);
220227

221228

222229
//// [promiseType.js]
@@ -440,3 +447,6 @@ const pc6 = p.then(() => Promise.reject("1"), () => { });
440447
const pc7 = p.then(() => Promise.reject("1"), () => { throw 1; });
441448
const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1));
442449
const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1));
450+
// #27711
451+
const p2 = new Promise(() => { });
452+
new Promise(f);

tests/baselines/reference/promiseType.symbols

+18
Original file line numberDiff line numberDiff line change
@@ -1089,3 +1089,21 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1));
10891089
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
10901090
>reject : Symbol(PromiseConstructor.reject, Decl(lib.es2015.promise.d.ts, --, --))
10911091

1092+
// #27711
1093+
1094+
const p2: Promise<number> = new Promise<Promise<number>>(() => {});
1095+
>p2 : Symbol(p2, Decl(promiseType.ts, 221, 5))
1096+
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
1097+
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
1098+
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
1099+
1100+
declare function f(resolve: (value: Promise<number> | string) => void);
1101+
>f : Symbol(f, Decl(promiseType.ts, 221, 67))
1102+
>resolve : Symbol(resolve, Decl(promiseType.ts, 223, 19))
1103+
>value : Symbol(value, Decl(promiseType.ts, 223, 29))
1104+
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
1105+
1106+
new Promise(f);
1107+
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
1108+
>f : Symbol(f, Decl(promiseType.ts, 221, 67))
1109+

tests/baselines/reference/promiseType.types

+18
Original file line numberDiff line numberDiff line change
@@ -1583,3 +1583,21 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1));
15831583
>reject : <T = never>(reason?: any) => Promise<T>
15841584
>1 : 1
15851585

1586+
// #27711
1587+
1588+
const p2: Promise<number> = new Promise<Promise<number>>(() => {});
1589+
>p2 : Promise<number>
1590+
>new Promise<Promise<number>>(() => {}) : Promise<number>
1591+
>Promise : PromiseConstructor
1592+
>() => {} : () => void
1593+
1594+
declare function f(resolve: (value: Promise<number> | string) => void);
1595+
>f : (resolve: (value: string | Promise<number>) => void) => any
1596+
>resolve : (value: string | Promise<number>) => void
1597+
>value : string | Promise<number>
1598+
1599+
new Promise(f);
1600+
>new Promise(f) : Promise<string | number>
1601+
>Promise : PromiseConstructor
1602+
>f : (resolve: (value: string | Promise<number>) => void) => any
1603+

tests/cases/compiler/promiseType.ts

+7
Original file line numberDiff line numberDiff line change
@@ -217,3 +217,10 @@ const pc6 = p.then(() => Promise.reject("1"), () => {});
217217
const pc7 = p.then(() => Promise.reject("1"), () => {throw 1});
218218
const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1));
219219
const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1));
220+
221+
// #27711
222+
223+
const p2: Promise<number> = new Promise<Promise<number>>(() => {});
224+
225+
declare function f(resolve: (value: Promise<number> | string) => void);
226+
new Promise(f);

0 commit comments

Comments
 (0)