Added es5 conformance tests for await in binary.

This commit is contained in:
Ron Buckton 2016-06-27 14:08:36 -07:00
parent 393ee28fb0
commit 5b2e11c5d0
24 changed files with 533 additions and 7 deletions

View File

@ -0,0 +1,28 @@
//// [awaitBinaryExpression1_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = await p || a;
after();
}
//// [awaitBinaryExpression1_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b;
return __generator(function (_a) {
switch (_a.label) {
case 0:
before();
return [4 /*yield*/, p];
case 1:
b = (_a.sent()) || a;
after();
return [2 /*return*/];
}
});
});
}

View File

@ -0,0 +1,29 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression1_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitBinaryExpression1_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitBinaryExpression1_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function before(): void;
>before : Symbol(before, Decl(awaitBinaryExpression1_es5.ts, 1, 32))
declare function after(): void;
>after : Symbol(after, Decl(awaitBinaryExpression1_es5.ts, 2, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitBinaryExpression1_es5.ts, 3, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitBinaryExpression1_es5.ts, 1, 32))
var b = await p || a;
>b : Symbol(b, Decl(awaitBinaryExpression1_es5.ts, 6, 7))
>p : Symbol(p, Decl(awaitBinaryExpression1_es5.ts, 1, 11))
>a : Symbol(a, Decl(awaitBinaryExpression1_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitBinaryExpression1_es5.ts, 2, 32))
}

View File

@ -0,0 +1,33 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression1_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = await p || a;
>b : boolean
>await p || a : boolean
>await p : boolean
>p : Promise<boolean>
>a : boolean
after();
>after() : void
>after : () => void
}

View File

@ -0,0 +1,28 @@
//// [awaitBinaryExpression2_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = await p && a;
after();
}
//// [awaitBinaryExpression2_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b;
return __generator(function (_a) {
switch (_a.label) {
case 0:
before();
return [4 /*yield*/, p];
case 1:
b = (_a.sent()) && a;
after();
return [2 /*return*/];
}
});
});
}

View File

@ -0,0 +1,29 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression2_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitBinaryExpression2_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitBinaryExpression2_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function before(): void;
>before : Symbol(before, Decl(awaitBinaryExpression2_es5.ts, 1, 32))
declare function after(): void;
>after : Symbol(after, Decl(awaitBinaryExpression2_es5.ts, 2, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitBinaryExpression2_es5.ts, 3, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitBinaryExpression2_es5.ts, 1, 32))
var b = await p && a;
>b : Symbol(b, Decl(awaitBinaryExpression2_es5.ts, 6, 7))
>p : Symbol(p, Decl(awaitBinaryExpression2_es5.ts, 1, 11))
>a : Symbol(a, Decl(awaitBinaryExpression2_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitBinaryExpression2_es5.ts, 2, 32))
}

View File

@ -0,0 +1,33 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression2_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = await p && a;
>b : boolean
>await p && a : boolean
>await p : boolean
>p : Promise<boolean>
>a : boolean
after();
>after() : void
>after : () => void
}

View File

@ -0,0 +1,28 @@
//// [awaitBinaryExpression3_es5.ts]
declare var a: number;
declare var p: Promise<number>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = await p + a;
after();
}
//// [awaitBinaryExpression3_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b;
return __generator(function (_a) {
switch (_a.label) {
case 0:
before();
return [4 /*yield*/, p];
case 1:
b = (_a.sent()) + a;
after();
return [2 /*return*/];
}
});
});
}

View File

@ -0,0 +1,29 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression3_es5.ts ===
declare var a: number;
>a : Symbol(a, Decl(awaitBinaryExpression3_es5.ts, 0, 11))
declare var p: Promise<number>;
>p : Symbol(p, Decl(awaitBinaryExpression3_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function before(): void;
>before : Symbol(before, Decl(awaitBinaryExpression3_es5.ts, 1, 31))
declare function after(): void;
>after : Symbol(after, Decl(awaitBinaryExpression3_es5.ts, 2, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitBinaryExpression3_es5.ts, 3, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitBinaryExpression3_es5.ts, 1, 31))
var b = await p + a;
>b : Symbol(b, Decl(awaitBinaryExpression3_es5.ts, 6, 7))
>p : Symbol(p, Decl(awaitBinaryExpression3_es5.ts, 1, 11))
>a : Symbol(a, Decl(awaitBinaryExpression3_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitBinaryExpression3_es5.ts, 2, 32))
}

View File

@ -0,0 +1,33 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression3_es5.ts ===
declare var a: number;
>a : number
declare var p: Promise<number>;
>p : Promise<number>
>Promise : Promise<T>
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = await p + a;
>b : number
>await p + a : number
>await p : number
>p : Promise<number>
>a : number
after();
>after() : void
>after : () => void
}

View File

@ -0,0 +1,28 @@
//// [awaitBinaryExpression4_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = (await p, a);
after();
}
//// [awaitBinaryExpression4_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var b;
return __generator(function (_a) {
switch (_a.label) {
case 0:
before();
return [4 /*yield*/, p];
case 1:
b = (_a.sent(), a);
after();
return [2 /*return*/];
}
});
});
}

View File

@ -0,0 +1,29 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression4_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitBinaryExpression4_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitBinaryExpression4_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function before(): void;
>before : Symbol(before, Decl(awaitBinaryExpression4_es5.ts, 1, 32))
declare function after(): void;
>after : Symbol(after, Decl(awaitBinaryExpression4_es5.ts, 2, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitBinaryExpression4_es5.ts, 3, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitBinaryExpression4_es5.ts, 1, 32))
var b = (await p, a);
>b : Symbol(b, Decl(awaitBinaryExpression4_es5.ts, 6, 7))
>p : Symbol(p, Decl(awaitBinaryExpression4_es5.ts, 1, 11))
>a : Symbol(a, Decl(awaitBinaryExpression4_es5.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitBinaryExpression4_es5.ts, 2, 32))
}

View File

@ -0,0 +1,34 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression4_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var b = (await p, a);
>b : boolean
>(await p, a) : boolean
>await p, a : boolean
>await p : boolean
>p : Promise<boolean>
>a : boolean
after();
>after() : void
>after : () => void
}

View File

@ -5,7 +5,7 @@ declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = await p, a;
var b = (await p, a);
after();
}
@ -13,7 +13,7 @@ async function func(): Promise<void> {
function func() {
return __awaiter(this, void 0, void 0, function* () {
before();
var b = yield p, a;
var b = (yield p, a);
after();
});
}

View File

@ -19,10 +19,10 @@ async function func(): Promise<void> {
before();
>before : Symbol(before, Decl(awaitBinaryExpression4_es6.ts, 1, 32))
var b = await p, a;
var b = (await p, a);
>b : Symbol(b, Decl(awaitBinaryExpression4_es6.ts, 6, 7))
>p : Symbol(p, Decl(awaitBinaryExpression4_es6.ts, 1, 11))
>a : Symbol(a, Decl(awaitBinaryExpression4_es6.ts, 6, 20))
>a : Symbol(a, Decl(awaitBinaryExpression4_es6.ts, 0, 11))
after();
>after : Symbol(after, Decl(awaitBinaryExpression4_es6.ts, 2, 32))

View File

@ -20,11 +20,13 @@ async function func(): Promise<void> {
>before() : void
>before : () => void
var b = await p, a;
var b = (await p, a);
>b : boolean
>(await p, a) : boolean
>await p, a : boolean
>await p : boolean
>p : Promise<boolean>
>a : any
>a : boolean
after();
>after() : void

View File

@ -0,0 +1,30 @@
//// [awaitBinaryExpression5_es5.ts]
declare var a: boolean;
declare var p: Promise<boolean>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var o: { a: boolean; };
o.a = await p;
after();
}
//// [awaitBinaryExpression5_es5.js]
function func() {
return __awaiter(this, void 0, Promise, function () {
var o, _a;
return __generator(function (_b) {
switch (_b.label) {
case 0:
before();
_a = o;
return [4 /*yield*/, p];
case 1:
_a.a = _b.sent();
after();
return [2 /*return*/];
}
});
});
}

View File

@ -0,0 +1,34 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression5_es5.ts ===
declare var a: boolean;
>a : Symbol(a, Decl(awaitBinaryExpression5_es5.ts, 0, 11))
declare var p: Promise<boolean>;
>p : Symbol(p, Decl(awaitBinaryExpression5_es5.ts, 1, 11))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
declare function before(): void;
>before : Symbol(before, Decl(awaitBinaryExpression5_es5.ts, 1, 32))
declare function after(): void;
>after : Symbol(after, Decl(awaitBinaryExpression5_es5.ts, 2, 32))
async function func(): Promise<void> {
>func : Symbol(func, Decl(awaitBinaryExpression5_es5.ts, 3, 31))
>Promise : Symbol(Promise, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
before();
>before : Symbol(before, Decl(awaitBinaryExpression5_es5.ts, 1, 32))
var o: { a: boolean; };
>o : Symbol(o, Decl(awaitBinaryExpression5_es5.ts, 6, 7))
>a : Symbol(a, Decl(awaitBinaryExpression5_es5.ts, 6, 12))
o.a = await p;
>o.a : Symbol(a, Decl(awaitBinaryExpression5_es5.ts, 6, 12))
>o : Symbol(o, Decl(awaitBinaryExpression5_es5.ts, 6, 7))
>a : Symbol(a, Decl(awaitBinaryExpression5_es5.ts, 6, 12))
>p : Symbol(p, Decl(awaitBinaryExpression5_es5.ts, 1, 11))
after();
>after : Symbol(after, Decl(awaitBinaryExpression5_es5.ts, 2, 32))
}

View File

@ -0,0 +1,38 @@
=== tests/cases/conformance/async/es5/awaitBinaryExpression/awaitBinaryExpression5_es5.ts ===
declare var a: boolean;
>a : boolean
declare var p: Promise<boolean>;
>p : Promise<boolean>
>Promise : Promise<T>
declare function before(): void;
>before : () => void
declare function after(): void;
>after : () => void
async function func(): Promise<void> {
>func : () => Promise<void>
>Promise : Promise<T>
before();
>before() : void
>before : () => void
var o: { a: boolean; };
>o : { a: boolean; }
>a : boolean
o.a = await p;
>o.a = await p : boolean
>o.a : boolean
>o : { a: boolean; }
>a : boolean
>await p : boolean
>p : Promise<boolean>
after();
>after() : void
>after : () => void
}

View File

@ -0,0 +1,12 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = await p || a;
after();
}

View File

@ -0,0 +1,12 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = await p && a;
after();
}

View File

@ -0,0 +1,12 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: number;
declare var p: Promise<number>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = await p + a;
after();
}

View File

@ -0,0 +1,12 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = (await p, a);
after();
}

View File

@ -0,0 +1,13 @@
// @target: ES5
// @lib: es5,es2015.promise
// @noEmitHelpers: true
declare var a: boolean;
declare var p: Promise<boolean>;
declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var o: { a: boolean; };
o.a = await p;
after();
}

View File

@ -6,6 +6,6 @@ declare function before(): void;
declare function after(): void;
async function func(): Promise<void> {
before();
var b = await p, a;
var b = (await p, a);
after();
}