diff --git a/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.errors.txt b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.errors.txt new file mode 100644 index 00000000000..a5e05d986c1 --- /dev/null +++ b/tests/baselines/reference/templateStringsArrayTypeDefinedInES5Mode.errors.txt @@ -0,0 +1,25 @@ +tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(10,1): error TS1159: Tagged templates are only available when targeting ECMAScript 6 and higher. +lib.d.ts(502,11): error TS2300: Duplicate identifier 'TemplateStringsArray'. +tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(2,7): error TS2300: Duplicate identifier 'TemplateStringsArray'. +tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts(8,3): error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type '{ [x: number]: undefined; }'. + + +==== tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts (3 errors) ==== + + class TemplateStringsArray { + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2300: Duplicate identifier 'TemplateStringsArray'. + } + + function f(x: TemplateStringsArray, y: number, z: number) { + } + + f({}, 10, 10); + ~~ +!!! error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2345: Property 'raw' is missing in type '{ [x: number]: undefined; }'. + + f `abcdef${ 1234 }${ 5678 }ghijkl`; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1159: Tagged templates are only available when targeting ECMAScript 6 and higher. \ No newline at end of file diff --git a/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.errors.txt b/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.errors.txt new file mode 100644 index 00000000000..6b2d29139ed --- /dev/null +++ b/tests/baselines/reference/templateStringsArrayTypeNotDefinedES5Mode.errors.txt @@ -0,0 +1,18 @@ +tests/cases/compiler/templateStringsArrayTypeNotDefinedES5Mode.ts(7,1): error TS1159: Tagged templates are only available when targeting ECMAScript 6 and higher. +tests/cases/compiler/templateStringsArrayTypeNotDefinedES5Mode.ts(5,3): error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type '{ [x: number]: undefined; }'. + + +==== tests/cases/compiler/templateStringsArrayTypeNotDefinedES5Mode.ts (2 errors) ==== + + function f(x: TemplateStringsArray, y: number, z: number) { + } + + f({}, 10, 10); + ~~ +!!! error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2345: Property 'raw' is missing in type '{ [x: number]: undefined; }'. + + f `abcdef${ 1234 }${ 5678 }ghijkl`; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1159: Tagged templates are only available when targeting ECMAScript 6 and higher. \ No newline at end of file diff --git a/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.errors.txt b/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.errors.txt new file mode 100644 index 00000000000..8d5f554b42d --- /dev/null +++ b/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.errors.txt @@ -0,0 +1,22 @@ +lib.d.ts(502,11): error TS2300: Duplicate identifier 'TemplateStringsArray'. +tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(2,7): error TS2300: Duplicate identifier 'TemplateStringsArray'. +tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts(8,3): error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type '{ [x: number]: undefined; }'. + + +==== tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts (2 errors) ==== + + class TemplateStringsArray { + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2300: Duplicate identifier 'TemplateStringsArray'. + } + + function f(x: TemplateStringsArray, y: number, z: number) { + } + + f({}, 10, 10); + ~~ +!!! error TS2345: Argument of type '{ [x: number]: undefined; }' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2345: Property 'raw' is missing in type '{ [x: number]: undefined; }'. + + f `abcdef${ 1234 }${ 5678 }ghijkl`; \ No newline at end of file diff --git a/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.js b/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.js new file mode 100644 index 00000000000..22ce6831f00 --- /dev/null +++ b/tests/baselines/reference/templateStringsArrayTypeRedefinedInES6Mode.js @@ -0,0 +1,22 @@ +//// [templateStringsArrayTypeRedefinedInES6Mode.ts] + +class TemplateStringsArray { +} + +function f(x: TemplateStringsArray, y: number, z: number) { +} + +f({}, 10, 10); + +f `abcdef${ 1234 }${ 5678 }ghijkl`; + +//// [templateStringsArrayTypeRedefinedInES6Mode.js] +var TemplateStringsArray = (function () { + function TemplateStringsArray() { + } + return TemplateStringsArray; +})(); +function f(x, y, z) { +} +f({}, 10, 10); +f `abcdef${1234}${5678}ghijkl`; diff --git a/tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts b/tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts new file mode 100644 index 00000000000..1a73b7eb430 --- /dev/null +++ b/tests/cases/compiler/templateStringsArrayTypeDefinedInES5Mode.ts @@ -0,0 +1,11 @@ +// @target: es5 + +class TemplateStringsArray { +} + +function f(x: TemplateStringsArray, y: number, z: number) { +} + +f({}, 10, 10); + +f `abcdef${ 1234 }${ 5678 }ghijkl`; \ No newline at end of file diff --git a/tests/cases/compiler/templateStringsArrayTypeNotDefinedES5Mode.ts b/tests/cases/compiler/templateStringsArrayTypeNotDefinedES5Mode.ts new file mode 100644 index 00000000000..3b166baa5c1 --- /dev/null +++ b/tests/cases/compiler/templateStringsArrayTypeNotDefinedES5Mode.ts @@ -0,0 +1,8 @@ +// @target: es5 + +function f(x: TemplateStringsArray, y: number, z: number) { +} + +f({}, 10, 10); + +f `abcdef${ 1234 }${ 5678 }ghijkl`; \ No newline at end of file diff --git a/tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts b/tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts new file mode 100644 index 00000000000..c28026ef27d --- /dev/null +++ b/tests/cases/compiler/templateStringsArrayTypeRedefinedInES6Mode.ts @@ -0,0 +1,11 @@ +// @target: es6 + +class TemplateStringsArray { +} + +function f(x: TemplateStringsArray, y: number, z: number) { +} + +f({}, 10, 10); + +f `abcdef${ 1234 }${ 5678 }ghijkl`; \ No newline at end of file