Skip to content

Commit 0c647c3

Browse files
committed
Added es5 conformance tests for awaiting a call
1 parent 48a9562 commit 0c647c3

32 files changed

+1372
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//// [awaitCallExpression1_es5.ts]
2+
declare var a: boolean;
3+
declare var p: Promise<boolean>;
4+
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
5+
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
6+
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
7+
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
8+
declare function before(): void;
9+
declare function after(): void;
10+
async function func(): Promise<void> {
11+
before();
12+
var b = fn(a, a, a);
13+
after();
14+
}
15+
16+
//// [awaitCallExpression1_es5.js]
17+
function func() {
18+
return __awaiter(this, void 0, Promise, function () {
19+
var b;
20+
return __generator(function (_a) {
21+
before();
22+
b = fn(a, a, a);
23+
after();
24+
return [2 /*return*/];
25+
});
26+
});
27+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression1_es5.ts ===
2+
declare var a: boolean;
3+
>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11))
4+
5+
declare var p: Promise<boolean>;
6+
>p : Symbol(p, Decl(awaitCallExpression1_es5.ts, 1, 11))
7+
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
8+
9+
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
10+
>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 1, 32))
11+
>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 2, 20))
12+
>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 2, 34))
13+
>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 2, 49))
14+
15+
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
16+
>o : Symbol(o, Decl(awaitCallExpression1_es5.ts, 3, 11))
17+
>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 3, 16))
18+
>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 3, 20))
19+
>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 3, 34))
20+
>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 3, 49))
21+
22+
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
23+
>pfn : Symbol(pfn, Decl(awaitCallExpression1_es5.ts, 4, 11))
24+
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
25+
>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 4, 28))
26+
>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 4, 42))
27+
>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 4, 57))
28+
29+
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
30+
>po : Symbol(po, Decl(awaitCallExpression1_es5.ts, 5, 11))
31+
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
32+
>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 5, 25))
33+
>arg0 : Symbol(arg0, Decl(awaitCallExpression1_es5.ts, 5, 29))
34+
>arg1 : Symbol(arg1, Decl(awaitCallExpression1_es5.ts, 5, 43))
35+
>arg2 : Symbol(arg2, Decl(awaitCallExpression1_es5.ts, 5, 58))
36+
37+
declare function before(): void;
38+
>before : Symbol(before, Decl(awaitCallExpression1_es5.ts, 5, 84))
39+
40+
declare function after(): void;
41+
>after : Symbol(after, Decl(awaitCallExpression1_es5.ts, 6, 32))
42+
43+
async function func(): Promise<void> {
44+
>func : Symbol(func, Decl(awaitCallExpression1_es5.ts, 7, 31))
45+
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
46+
47+
before();
48+
>before : Symbol(before, Decl(awaitCallExpression1_es5.ts, 5, 84))
49+
50+
var b = fn(a, a, a);
51+
>b : Symbol(b, Decl(awaitCallExpression1_es5.ts, 10, 7))
52+
>fn : Symbol(fn, Decl(awaitCallExpression1_es5.ts, 1, 32))
53+
>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11))
54+
>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11))
55+
>a : Symbol(a, Decl(awaitCallExpression1_es5.ts, 0, 11))
56+
57+
after();
58+
>after : Symbol(after, Decl(awaitCallExpression1_es5.ts, 6, 32))
59+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression1_es5.ts ===
2+
declare var a: boolean;
3+
>a : boolean
4+
5+
declare var p: Promise<boolean>;
6+
>p : Promise<boolean>
7+
>Promise : Promise<T>
8+
9+
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
10+
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
11+
>arg0 : boolean
12+
>arg1 : boolean
13+
>arg2 : boolean
14+
15+
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
16+
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
17+
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
18+
>arg0 : boolean
19+
>arg1 : boolean
20+
>arg2 : boolean
21+
22+
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
23+
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
24+
>Promise : Promise<T>
25+
>arg0 : boolean
26+
>arg1 : boolean
27+
>arg2 : boolean
28+
29+
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
30+
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
31+
>Promise : Promise<T>
32+
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
33+
>arg0 : boolean
34+
>arg1 : boolean
35+
>arg2 : boolean
36+
37+
declare function before(): void;
38+
>before : () => void
39+
40+
declare function after(): void;
41+
>after : () => void
42+
43+
async function func(): Promise<void> {
44+
>func : () => Promise<void>
45+
>Promise : Promise<T>
46+
47+
before();
48+
>before() : void
49+
>before : () => void
50+
51+
var b = fn(a, a, a);
52+
>b : void
53+
>fn(a, a, a) : void
54+
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
55+
>a : boolean
56+
>a : boolean
57+
>a : boolean
58+
59+
after();
60+
>after() : void
61+
>after : () => void
62+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
//// [awaitCallExpression2_es5.ts]
2+
declare var a: boolean;
3+
declare var p: Promise<boolean>;
4+
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
5+
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
6+
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
7+
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
8+
declare function before(): void;
9+
declare function after(): void;
10+
async function func(): Promise<void> {
11+
before();
12+
var b = fn(await p, a, a);
13+
after();
14+
}
15+
16+
//// [awaitCallExpression2_es5.js]
17+
function func() {
18+
return __awaiter(this, void 0, Promise, function () {
19+
var b, _a, _b;
20+
return __generator(function (_c) {
21+
switch (_c.label) {
22+
case 0:
23+
before();
24+
_a = fn;
25+
return [4 /*yield*/, p];
26+
case 1:
27+
b = _a.apply(void 0, [_c.sent(), a, a]);
28+
after();
29+
return [2 /*return*/];
30+
}
31+
});
32+
});
33+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression2_es5.ts ===
2+
declare var a: boolean;
3+
>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11))
4+
5+
declare var p: Promise<boolean>;
6+
>p : Symbol(p, Decl(awaitCallExpression2_es5.ts, 1, 11))
7+
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
8+
9+
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
10+
>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 1, 32))
11+
>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 2, 20))
12+
>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 2, 34))
13+
>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 2, 49))
14+
15+
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
16+
>o : Symbol(o, Decl(awaitCallExpression2_es5.ts, 3, 11))
17+
>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 3, 16))
18+
>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 3, 20))
19+
>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 3, 34))
20+
>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 3, 49))
21+
22+
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
23+
>pfn : Symbol(pfn, Decl(awaitCallExpression2_es5.ts, 4, 11))
24+
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
25+
>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 4, 28))
26+
>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 4, 42))
27+
>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 4, 57))
28+
29+
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
30+
>po : Symbol(po, Decl(awaitCallExpression2_es5.ts, 5, 11))
31+
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
32+
>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 5, 25))
33+
>arg0 : Symbol(arg0, Decl(awaitCallExpression2_es5.ts, 5, 29))
34+
>arg1 : Symbol(arg1, Decl(awaitCallExpression2_es5.ts, 5, 43))
35+
>arg2 : Symbol(arg2, Decl(awaitCallExpression2_es5.ts, 5, 58))
36+
37+
declare function before(): void;
38+
>before : Symbol(before, Decl(awaitCallExpression2_es5.ts, 5, 84))
39+
40+
declare function after(): void;
41+
>after : Symbol(after, Decl(awaitCallExpression2_es5.ts, 6, 32))
42+
43+
async function func(): Promise<void> {
44+
>func : Symbol(func, Decl(awaitCallExpression2_es5.ts, 7, 31))
45+
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
46+
47+
before();
48+
>before : Symbol(before, Decl(awaitCallExpression2_es5.ts, 5, 84))
49+
50+
var b = fn(await p, a, a);
51+
>b : Symbol(b, Decl(awaitCallExpression2_es5.ts, 10, 7))
52+
>fn : Symbol(fn, Decl(awaitCallExpression2_es5.ts, 1, 32))
53+
>p : Symbol(p, Decl(awaitCallExpression2_es5.ts, 1, 11))
54+
>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11))
55+
>a : Symbol(a, Decl(awaitCallExpression2_es5.ts, 0, 11))
56+
57+
after();
58+
>after : Symbol(after, Decl(awaitCallExpression2_es5.ts, 6, 32))
59+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
=== tests/cases/conformance/async/es5/awaitCallExpression/awaitCallExpression2_es5.ts ===
2+
declare var a: boolean;
3+
>a : boolean
4+
5+
declare var p: Promise<boolean>;
6+
>p : Promise<boolean>
7+
>Promise : Promise<T>
8+
9+
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
10+
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
11+
>arg0 : boolean
12+
>arg1 : boolean
13+
>arg2 : boolean
14+
15+
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
16+
>o : { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }
17+
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
18+
>arg0 : boolean
19+
>arg1 : boolean
20+
>arg2 : boolean
21+
22+
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
23+
>pfn : Promise<(arg0: boolean, arg1: boolean, arg2: boolean) => void>
24+
>Promise : Promise<T>
25+
>arg0 : boolean
26+
>arg1 : boolean
27+
>arg2 : boolean
28+
29+
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
30+
>po : Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>
31+
>Promise : Promise<T>
32+
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
33+
>arg0 : boolean
34+
>arg1 : boolean
35+
>arg2 : boolean
36+
37+
declare function before(): void;
38+
>before : () => void
39+
40+
declare function after(): void;
41+
>after : () => void
42+
43+
async function func(): Promise<void> {
44+
>func : () => Promise<void>
45+
>Promise : Promise<T>
46+
47+
before();
48+
>before() : void
49+
>before : () => void
50+
51+
var b = fn(await p, a, a);
52+
>b : void
53+
>fn(await p, a, a) : void
54+
>fn : (arg0: boolean, arg1: boolean, arg2: boolean) => void
55+
>await p : boolean
56+
>p : Promise<boolean>
57+
>a : boolean
58+
>a : boolean
59+
60+
after();
61+
>after() : void
62+
>after : () => void
63+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
//// [awaitCallExpression3_es5.ts]
2+
declare var a: boolean;
3+
declare var p: Promise<boolean>;
4+
declare function fn(arg0: boolean, arg1: boolean, arg2: boolean): void;
5+
declare var o: { fn(arg0: boolean, arg1: boolean, arg2: boolean): void; };
6+
declare var pfn: Promise<{ (arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
7+
declare var po: Promise<{ fn(arg0: boolean, arg1: boolean, arg2: boolean): void; }>;
8+
declare function before(): void;
9+
declare function after(): void;
10+
async function func(): Promise<void> {
11+
before();
12+
var b = fn(a, await p, a);
13+
after();
14+
}
15+
16+
//// [awaitCallExpression3_es5.js]
17+
function func() {
18+
return __awaiter(this, void 0, Promise, function () {
19+
var b, _a, _b;
20+
return __generator(function (_c) {
21+
switch (_c.label) {
22+
case 0:
23+
before();
24+
_a = fn;
25+
_b = [a];
26+
return [4 /*yield*/, p];
27+
case 1:
28+
b = _a.apply(void 0, _b.concat([_c.sent(), a]));
29+
after();
30+
return [2 /*return*/];
31+
}
32+
});
33+
});
34+
}

0 commit comments

Comments
 (0)