diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias2.js b/tests/baselines/reference/declarationEmitInferedTypeAlias2.js new file mode 100644 index 0000000000..b0bca95dbe --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias2.js @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/declarationEmitInferedTypeAlias2.ts] //// + +//// [0.ts] + +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +//// [1.ts] +var x = "hi" || 5; +export default x; + +//// [0.js] +"use strict"; +{ + var obj = true; +} +//// [1.js] +"use strict"; +var x = "hi" || 5; +exports.__esModule = true; +exports["default"] = x; + + +//// [0.d.ts] +export { }; +//// [1.d.ts] +declare var x: string | number; +export default x; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias2.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias2.symbols new file mode 100644 index 0000000000..8a9f7b35d1 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias2.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 === +var x = "hi" || 5; +>x : Symbol(x, Decl(1.ts, 0, 3)) + +export default x; +>x : Symbol(x, Decl(1.ts, 0, 3)) + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias2.types b/tests/baselines/reference/declarationEmitInferedTypeAlias2.types new file mode 100644 index 0000000000..52c8f7fea2 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias2.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 === +var x = "hi" || 5; +>x : string | number +>"hi" || 5 : string | number +>"hi" : string +>5 : number + +export default x; +>x : string | number + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias3.js b/tests/baselines/reference/declarationEmitInferedTypeAlias3.js new file mode 100644 index 0000000000..bca6a9a302 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias3.js @@ -0,0 +1,38 @@ +//// [tests/cases/compiler/declarationEmitInferedTypeAlias3.ts] //// + +//// [0.ts] + +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +//// [1.ts] +let v = "str" || true; +function bar () { + return v; +} +export { v, bar } + +//// [0.js] +"use strict"; +{ + var obj = true; +} +//// [1.js] +"use strict"; +var v = "str" || true; +exports.v = v; +function bar() { + return v; +} +exports.bar = bar; + + +//// [0.d.ts] +export { }; +//// [1.d.ts] +declare let v: string | boolean; +declare function bar(): string | boolean; +export { v, bar }; diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias3.symbols b/tests/baselines/reference/declarationEmitInferedTypeAlias3.symbols new file mode 100644 index 0000000000..c802739786 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias3.symbols @@ -0,0 +1,26 @@ +=== 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)) + +function bar () { +>bar : Symbol(bar, Decl(1.ts, 0, 22)) + + return v; +>v : Symbol(v, Decl(1.ts, 0, 3)) +} +export { v, bar } +>v : Symbol(v, Decl(1.ts, 4, 8)) +>bar : Symbol(bar, Decl(1.ts, 4, 11)) + diff --git a/tests/baselines/reference/declarationEmitInferedTypeAlias3.types b/tests/baselines/reference/declarationEmitInferedTypeAlias3.types new file mode 100644 index 0000000000..fb2a042260 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferedTypeAlias3.types @@ -0,0 +1,30 @@ +=== 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 + +function bar () { +>bar : () => Data + + return v; +>v : Data +} +export { v, bar } +>v : Data +>bar : () => Data + diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias2.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias2.ts new file mode 100644 index 0000000000..5358aad962 --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias2.ts @@ -0,0 +1,13 @@ +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +// @Filename: 1.ts +var x = "hi" || 5; +export default x; \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitInferedTypeAlias3.ts b/tests/cases/compiler/declarationEmitInferedTypeAlias3.ts new file mode 100644 index 0000000000..c3a5dae3f3 --- /dev/null +++ b/tests/cases/compiler/declarationEmitInferedTypeAlias3.ts @@ -0,0 +1,16 @@ +// @declaration: true +// @skipDefaultLibCheck: true + +// @Filename: 0.ts +{ + type Data = string | boolean; + let obj: Data = true; +} +export { } + +// @Filename: 1.ts +let v = "str" || true; +function bar () { + return v; +} +export { v, bar } \ No newline at end of file