From ced8cf867047cf3a44e4beee68dae3cc7a0a36d4 Mon Sep 17 00:00:00 2001 From: Yui T Date: Wed, 14 Sep 2016 11:55:13 -0700 Subject: [PATCH] Add tests and update baselines --- .../declarationEmitInferedTypeAlias1.js | 30 +++++++++++++++++++ .../declarationEmitInferedTypeAlias1.symbols | 19 ++++++++++++ .../declarationEmitInferedTypeAlias1.types | 23 ++++++++++++++ .../stringLiteralTypesAndTuples01.js | 2 +- .../stringLiteralTypesOverloads01.js | 2 +- .../declarationEmitInferedTypeAlias1.ts | 13 ++++++++ 6 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias1.js create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias1.symbols create mode 100644 tests/baselines/reference/declarationEmitInferedTypeAlias1.types create mode 100644 tests/cases/compiler/declarationEmitInferedTypeAlias1.ts diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias1.js b/tests/baselines/reference/declarationEmitInferedTypeAlias1.js new file mode 100644 index 0000000000..05ce74e3ba --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias1.js @@ -0,0 +1,30 @@ +//// [tests/cases/compiler/declarationEmitInferedTypeAlias1.ts] //// + +//// [0.ts] + +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +//// [1.ts] +let v = "str" || true; +export { v } + +//// [0.js] +"use strict"; +{ + var obj = true; +} +//// [1.js] +"use strict"; +var v = "str" || true; +exports.v = v; + + +//// [0.d.ts] +export { }; +//// [1.d.ts] +declare let v: string | boolean; +export { v }; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias1.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias1.symbols new file mode 100644 index 0000000000..94599418c5 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias1.symbols @@ -0,0 +1,19 @@ +=== tests/cases/compiler/0.ts === + +{ + type Data = string | boolean; +>Data : Symbol(Data, Decl(0.ts, 1, 1)) + + let obj: Data = true; +>obj : Symbol(obj, Decl(0.ts, 3, 7)) +>Data : Symbol(Data, Decl(0.ts, 1, 1)) +} +export { } + +=== tests/cases/compiler/1.ts === +let v = "str" || true; +>v : Symbol(v, Decl(1.ts, 0, 3)) + +export { v } +>v : Symbol(v, Decl(1.ts, 1, 8)) + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias1.types b/tests/baselines/reference/declarationEmitInferedTypeAlias1.types new file mode 100644 index 0000000000..8da9e8b291 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias1.types @@ -0,0 +1,23 @@ +=== tests/cases/compiler/0.ts === + +{ + type Data = string | boolean; +>Data : Data + + let obj: Data = true; +>obj : Data +>Data : Data +>true : true +} +export { } + +=== tests/cases/compiler/1.ts === +let v = "str" || true; +>v : Data +>"str" || true : Data +>"str" : string +>true : boolean + +export { v } +>v : Data + diff --git a/tests/baselines/reference/stringLiteralTypesAndTuples01.js b/tests/baselines/reference/stringLiteralTypesAndTuples01.js index b887213c8f..ae02d12429 100644 --- a/tests/baselines/reference/stringLiteralTypesAndTuples01.js +++ b/tests/baselines/reference/stringLiteralTypesAndTuples01.js @@ -38,5 +38,5 @@ function rawr(dino) { //// [stringLiteralTypesAndTuples01.d.ts] declare let hello: string, brave: string, newish: string, world: string; declare type RexOrRaptor = "t-rex" | "raptor"; -declare let im: "I'm", a: "a", dinosaur: RexOrRaptor; +declare let im: "I'm", a: "a", dinosaur: "t-rex" | "raptor"; declare function rawr(dino: RexOrRaptor): string; diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.js b/tests/baselines/reference/stringLiteralTypesOverloads01.js index dd050b5e46..ef441a4098 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads01.js +++ b/tests/baselines/reference/stringLiteralTypesOverloads01.js @@ -109,6 +109,6 @@ declare const boolean: "boolean"; declare const stringOrNumber: "string" | "number"; declare const stringOrBoolean: "string" | "boolean"; declare const booleanOrNumber: "number" | "boolean"; -declare const stringOrBooleanOrNumber: PrimitiveName; +declare const stringOrBooleanOrNumber: "string" | "number" | "boolean"; declare namespace Consts2 { } diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias1.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias1.ts new file mode 100644 index 0000000000..be40faa8c5 --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias1.ts @@ -0,0 +1,13 @@ +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +// @Filename: 1.ts +let v = "str" || true; +export { v } \ No newline at end of file