mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-15 11:35:42 -06:00
ES8/ES2017 target tests
This commit is contained in:
parent
2c46f9b687
commit
d16e846ab4
@ -165,7 +165,7 @@ namespace ts {
|
||||
start: undefined,
|
||||
length: undefined,
|
||||
}, {
|
||||
messageText: "Argument for '--target' option must be: 'es3', 'es5', 'es6', 'es2015'",
|
||||
messageText: "Argument for '--target' option must be: 'es3', 'es5', 'es6', 'es8', 'es2015', 'es2017'",
|
||||
category: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.category,
|
||||
code: ts.Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
|
||||
|
||||
|
||||
@ -176,7 +176,7 @@ namespace ts {
|
||||
file: undefined,
|
||||
start: 0,
|
||||
length: 0,
|
||||
messageText: "Argument for '--target' option must be: 'es3', 'es5', 'es6', 'es2015'",
|
||||
messageText: "Argument for '--target' option must be: 'es3', 'es5', 'es6', 'es8', 'es2015', 'es2017'",
|
||||
code: Diagnostics.Argument_for_0_option_must_be_Colon_1.code,
|
||||
category: Diagnostics.Argument_for_0_option_must_be_Colon_1.category
|
||||
}]
|
||||
|
||||
87
tests/baselines/reference/es8-async.js
Normal file
87
tests/baselines/reference/es8-async.js
Normal file
@ -0,0 +1,87 @@
|
||||
//// [es8-async.ts]
|
||||
|
||||
async (): Promise<void> => {
|
||||
await 0;
|
||||
}
|
||||
|
||||
async function asyncFunc() {
|
||||
await 0;
|
||||
}
|
||||
|
||||
const asycnArrowFunc = async (): Promise<void> => {
|
||||
await 0;
|
||||
}
|
||||
|
||||
async function asyncIIFE() {
|
||||
await 0;
|
||||
|
||||
await (async function(): Promise<void> {
|
||||
await 1;
|
||||
})();
|
||||
|
||||
await (async function asyncNamedFunc(): Promise<void> {
|
||||
await 1;
|
||||
})();
|
||||
|
||||
await (async (): Promise<void> => {
|
||||
await 1;
|
||||
})();
|
||||
}
|
||||
|
||||
class AsyncClass {
|
||||
asyncPropFunc = async function(): Promise<void> {
|
||||
await 2;
|
||||
}
|
||||
|
||||
asyncPropNamedFunc = async function namedFunc(): Promise<void> {
|
||||
await 2;
|
||||
}
|
||||
|
||||
asyncPropArrowFunc = async (): Promise<void> => {
|
||||
await 2;
|
||||
}
|
||||
|
||||
async asyncMethod(): Promise<void> {
|
||||
await 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//// [es8-async.js]
|
||||
async () => {
|
||||
await 0;
|
||||
};
|
||||
async function asyncFunc() {
|
||||
await 0;
|
||||
}
|
||||
const asycnArrowFunc = async () => {
|
||||
await 0;
|
||||
};
|
||||
async function asyncIIFE() {
|
||||
await 0;
|
||||
await (async function () {
|
||||
await 1;
|
||||
})();
|
||||
await (async function asyncNamedFunc() {
|
||||
await 1;
|
||||
})();
|
||||
await (async () => {
|
||||
await 1;
|
||||
})();
|
||||
}
|
||||
class AsyncClass {
|
||||
constructor() {
|
||||
this.asyncPropFunc = async function () {
|
||||
await 2;
|
||||
};
|
||||
this.asyncPropNamedFunc = async function namedFunc() {
|
||||
await 2;
|
||||
};
|
||||
this.asyncPropArrowFunc = async () => {
|
||||
await 2;
|
||||
};
|
||||
}
|
||||
async asyncMethod() {
|
||||
await 2;
|
||||
}
|
||||
}
|
||||
79
tests/baselines/reference/es8-async.symbols
Normal file
79
tests/baselines/reference/es8-async.symbols
Normal file
@ -0,0 +1,79 @@
|
||||
=== tests/cases/compiler/es8-async.ts ===
|
||||
|
||||
async (): Promise<void> => {
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 0;
|
||||
}
|
||||
|
||||
async function asyncFunc() {
|
||||
>asyncFunc : Symbol(asyncFunc, Decl(es8-async.ts, 3, 1))
|
||||
|
||||
await 0;
|
||||
}
|
||||
|
||||
const asycnArrowFunc = async (): Promise<void> => {
|
||||
>asycnArrowFunc : Symbol(asycnArrowFunc, Decl(es8-async.ts, 9, 5))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 0;
|
||||
}
|
||||
|
||||
async function asyncIIFE() {
|
||||
>asyncIIFE : Symbol(asyncIIFE, Decl(es8-async.ts, 11, 1))
|
||||
|
||||
await 0;
|
||||
|
||||
await (async function(): Promise<void> {
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 1;
|
||||
})();
|
||||
|
||||
await (async function asyncNamedFunc(): Promise<void> {
|
||||
>asyncNamedFunc : Symbol(asyncNamedFunc, Decl(es8-async.ts, 20, 11))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 1;
|
||||
})();
|
||||
|
||||
await (async (): Promise<void> => {
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 1;
|
||||
})();
|
||||
}
|
||||
|
||||
class AsyncClass {
|
||||
>AsyncClass : Symbol(AsyncClass, Decl(es8-async.ts, 27, 1))
|
||||
|
||||
asyncPropFunc = async function(): Promise<void> {
|
||||
>asyncPropFunc : Symbol(AsyncClass.asyncPropFunc, Decl(es8-async.ts, 29, 18))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 2;
|
||||
}
|
||||
|
||||
asyncPropNamedFunc = async function namedFunc(): Promise<void> {
|
||||
>asyncPropNamedFunc : Symbol(AsyncClass.asyncPropNamedFunc, Decl(es8-async.ts, 32, 5))
|
||||
>namedFunc : Symbol(namedFunc, Decl(es8-async.ts, 34, 24))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 2;
|
||||
}
|
||||
|
||||
asyncPropArrowFunc = async (): Promise<void> => {
|
||||
>asyncPropArrowFunc : Symbol(AsyncClass.asyncPropArrowFunc, Decl(es8-async.ts, 36, 5))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 2;
|
||||
}
|
||||
|
||||
async asyncMethod(): Promise<void> {
|
||||
>asyncMethod : Symbol(AsyncClass.asyncMethod, Decl(es8-async.ts, 40, 5))
|
||||
>Promise : Symbol(Promise, Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --))
|
||||
|
||||
await 2;
|
||||
}
|
||||
}
|
||||
|
||||
121
tests/baselines/reference/es8-async.types
Normal file
121
tests/baselines/reference/es8-async.types
Normal file
@ -0,0 +1,121 @@
|
||||
=== tests/cases/compiler/es8-async.ts ===
|
||||
|
||||
async (): Promise<void> => {
|
||||
>async (): Promise<void> => { await 0;} : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 0;
|
||||
>await 0 : 0
|
||||
>0 : 0
|
||||
}
|
||||
|
||||
async function asyncFunc() {
|
||||
>asyncFunc : () => Promise<void>
|
||||
|
||||
await 0;
|
||||
>await 0 : 0
|
||||
>0 : 0
|
||||
}
|
||||
|
||||
const asycnArrowFunc = async (): Promise<void> => {
|
||||
>asycnArrowFunc : () => Promise<void>
|
||||
>async (): Promise<void> => { await 0;} : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 0;
|
||||
>await 0 : 0
|
||||
>0 : 0
|
||||
}
|
||||
|
||||
async function asyncIIFE() {
|
||||
>asyncIIFE : () => Promise<void>
|
||||
|
||||
await 0;
|
||||
>await 0 : 0
|
||||
>0 : 0
|
||||
|
||||
await (async function(): Promise<void> {
|
||||
>await (async function(): Promise<void> { await 1; })() : void
|
||||
>(async function(): Promise<void> { await 1; })() : Promise<void>
|
||||
>(async function(): Promise<void> { await 1; }) : () => Promise<void>
|
||||
>async function(): Promise<void> { await 1; } : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 1;
|
||||
>await 1 : 1
|
||||
>1 : 1
|
||||
|
||||
})();
|
||||
|
||||
await (async function asyncNamedFunc(): Promise<void> {
|
||||
>await (async function asyncNamedFunc(): Promise<void> { await 1; })() : void
|
||||
>(async function asyncNamedFunc(): Promise<void> { await 1; })() : Promise<void>
|
||||
>(async function asyncNamedFunc(): Promise<void> { await 1; }) : () => Promise<void>
|
||||
>async function asyncNamedFunc(): Promise<void> { await 1; } : () => Promise<void>
|
||||
>asyncNamedFunc : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 1;
|
||||
>await 1 : 1
|
||||
>1 : 1
|
||||
|
||||
})();
|
||||
|
||||
await (async (): Promise<void> => {
|
||||
>await (async (): Promise<void> => { await 1; })() : void
|
||||
>(async (): Promise<void> => { await 1; })() : Promise<void>
|
||||
>(async (): Promise<void> => { await 1; }) : () => Promise<void>
|
||||
>async (): Promise<void> => { await 1; } : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 1;
|
||||
>await 1 : 1
|
||||
>1 : 1
|
||||
|
||||
})();
|
||||
}
|
||||
|
||||
class AsyncClass {
|
||||
>AsyncClass : AsyncClass
|
||||
|
||||
asyncPropFunc = async function(): Promise<void> {
|
||||
>asyncPropFunc : () => Promise<void>
|
||||
>async function(): Promise<void> { await 2; } : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 2;
|
||||
>await 2 : 2
|
||||
>2 : 2
|
||||
}
|
||||
|
||||
asyncPropNamedFunc = async function namedFunc(): Promise<void> {
|
||||
>asyncPropNamedFunc : () => Promise<void>
|
||||
>async function namedFunc(): Promise<void> { await 2; } : () => Promise<void>
|
||||
>namedFunc : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 2;
|
||||
>await 2 : 2
|
||||
>2 : 2
|
||||
}
|
||||
|
||||
asyncPropArrowFunc = async (): Promise<void> => {
|
||||
>asyncPropArrowFunc : () => Promise<void>
|
||||
>async (): Promise<void> => { await 2; } : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 2;
|
||||
>await 2 : 2
|
||||
>2 : 2
|
||||
}
|
||||
|
||||
async asyncMethod(): Promise<void> {
|
||||
>asyncMethod : () => Promise<void>
|
||||
>Promise : Promise<T>
|
||||
|
||||
await 2;
|
||||
>await 2 : 2
|
||||
>2 : 2
|
||||
}
|
||||
}
|
||||
|
||||
49
tests/cases/compiler/es8-async.ts
Normal file
49
tests/cases/compiler/es8-async.ts
Normal file
@ -0,0 +1,49 @@
|
||||
// @target: es8
|
||||
// @lib: es2017
|
||||
// @noEmitHelpers: true
|
||||
|
||||
async (): Promise<void> => {
|
||||
await 0;
|
||||
}
|
||||
|
||||
async function asyncFunc() {
|
||||
await 0;
|
||||
}
|
||||
|
||||
const asycnArrowFunc = async (): Promise<void> => {
|
||||
await 0;
|
||||
}
|
||||
|
||||
async function asyncIIFE() {
|
||||
await 0;
|
||||
|
||||
await (async function(): Promise<void> {
|
||||
await 1;
|
||||
})();
|
||||
|
||||
await (async function asyncNamedFunc(): Promise<void> {
|
||||
await 1;
|
||||
})();
|
||||
|
||||
await (async (): Promise<void> => {
|
||||
await 1;
|
||||
})();
|
||||
}
|
||||
|
||||
class AsyncClass {
|
||||
asyncPropFunc = async function(): Promise<void> {
|
||||
await 2;
|
||||
}
|
||||
|
||||
asyncPropNamedFunc = async function namedFunc(): Promise<void> {
|
||||
await 2;
|
||||
}
|
||||
|
||||
asyncPropArrowFunc = async (): Promise<void> => {
|
||||
await 2;
|
||||
}
|
||||
|
||||
async asyncMethod(): Promise<void> {
|
||||
await 2;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user