From 0263d6007198ba9b4db19946cbee97197212efc3 Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Mon, 15 Dec 2014 15:01:33 -0800 Subject: [PATCH] Split contextual typing test for substitution expressions into two tests. --- ....js => taggedTemplateContextualTyping1.js} | 25 ++-------- ... => taggedTemplateContextualTyping1.types} | 49 +------------------ .../taggedTemplateContextualTyping2.js | 23 +++++++++ .../taggedTemplateContextualTyping2.types | 49 +++++++++++++++++++ ....ts => taggedTemplateContextualTyping1.ts} | 10 ---- .../taggedTemplateContextualTyping2.ts | 11 +++++ 6 files changed, 87 insertions(+), 80 deletions(-) rename tests/baselines/reference/{taggedTemplateContextualTyping.js => taggedTemplateContextualTyping1.js} (51%) rename tests/baselines/reference/{taggedTemplateContextualTyping.types => taggedTemplateContextualTyping1.types} (51%) create mode 100644 tests/baselines/reference/taggedTemplateContextualTyping2.js create mode 100644 tests/baselines/reference/taggedTemplateContextualTyping2.types rename tests/cases/conformance/expressions/contextualTyping/{taggedTemplateContextualTyping.ts => taggedTemplateContextualTyping1.ts} (52%) create mode 100644 tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping2.ts diff --git a/tests/baselines/reference/taggedTemplateContextualTyping.js b/tests/baselines/reference/taggedTemplateContextualTyping1.js similarity index 51% rename from tests/baselines/reference/taggedTemplateContextualTyping.js rename to tests/baselines/reference/taggedTemplateContextualTyping1.js index 64b43031c76..1ac371a8ae4 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping.js +++ b/tests/baselines/reference/taggedTemplateContextualTyping1.js @@ -1,4 +1,4 @@ -//// [taggedTemplateContextualTyping.ts] +//// [taggedTemplateContextualTyping1.ts] function tempTag1(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; function tempTag1(templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; @@ -10,18 +10,9 @@ tempTag1 `${ x => x }${ 10 }`; tempTag1 `${ x => x }${ y => y }${ 10 }`; tempTag1 `${ x => x }${ (y: number) => y }${ undefined }`; tempTag1 `${ (x: number) => x }${ y => y }${ undefined }`; - -function tempTag2(templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; -function tempTag2(templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; -function tempTag2(...rest: any[]): any { - return undefined; -} - -tempTag2 `${ x => x }${ 0 }`; -tempTag2 `${ x => x }${ y => y }${ "hello" }`; -tempTag2 `${ x => x }${ 0 }`; -//// [taggedTemplateContextualTyping.js] + +//// [taggedTemplateContextualTyping1.js] function tempTag1() { var rest = []; for (var _i = 0; _i < arguments.length; _i++) { @@ -33,13 +24,3 @@ tempTag1 `${function (x) { return x; }}${10}`; tempTag1 `${function (x) { return x; }}${function (y) { return y; }}${10}`; tempTag1 `${function (x) { return x; }}${function (y) { return y; }}${undefined}`; tempTag1 `${function (x) { return x; }}${function (y) { return y; }}${undefined}`; -function tempTag2() { - var rest = []; - for (var _i = 0; _i < arguments.length; _i++) { - rest[_i - 0] = arguments[_i]; - } - return undefined; -} -tempTag2 `${function (x) { return x; }}${0}`; -tempTag2 `${function (x) { return x; }}${function (y) { return y; }}${"hello"}`; -tempTag2 `${function (x) { return x; }}${0}`; diff --git a/tests/baselines/reference/taggedTemplateContextualTyping.types b/tests/baselines/reference/taggedTemplateContextualTyping1.types similarity index 51% rename from tests/baselines/reference/taggedTemplateContextualTyping.types rename to tests/baselines/reference/taggedTemplateContextualTyping1.types index d8d050e4643..bb8e6a1a87c 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping1.types @@ -1,4 +1,4 @@ -=== tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping.ts === +=== tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping1.ts === function tempTag1(templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; >tempTag1 : { (templateStrs: TemplateStringsArray, f: (x: T) => T, x: T): T; (templateStrs: TemplateStringsArray, f: (x: T) => T, h: (y: T) => T, x: T): T; } @@ -75,50 +75,3 @@ tempTag1 `${ (x: number) => x }${ y => y }${ undefined }`; >y : number >undefined : undefined -function tempTag2(templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } ->templateStrs : TemplateStringsArray ->TemplateStringsArray : TemplateStringsArray ->f : (x: number) => number ->x : number ->x : number - -function tempTag2(templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } ->templateStrs : TemplateStringsArray ->TemplateStringsArray : TemplateStringsArray ->f : (x: string) => string ->x : string ->h : (y: string) => string ->y : string ->x : string - -function tempTag2(...rest: any[]): any { ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } ->rest : any[] - - return undefined; ->undefined : undefined -} - -tempTag2 `${ x => x }${ 0 }`; ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } ->x => x : (x: number) => number ->x : number ->x : number - -tempTag2 `${ x => x }${ y => y }${ "hello" }`; ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } ->x => x : (x: string) => string ->x : string ->x : string ->y => y : (y: string) => string ->y : string ->y : string - -tempTag2 `${ x => x }${ 0 }`; ->tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } ->x => x : (x: number) => number ->x : number ->x : number - diff --git a/tests/baselines/reference/taggedTemplateContextualTyping2.js b/tests/baselines/reference/taggedTemplateContextualTyping2.js new file mode 100644 index 00000000000..c24f5fffb59 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateContextualTyping2.js @@ -0,0 +1,23 @@ +//// [taggedTemplateContextualTyping2.ts] + +function tempTag2(templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; +function tempTag2(templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; +function tempTag2(...rest: any[]): any { + return undefined; +} + +tempTag2 `${ x => x }${ 0 }`; +tempTag2 `${ x => x }${ y => y }${ "hello" }`; +tempTag2 `${ x => x }${ 0 }`; + +//// [taggedTemplateContextualTyping2.js] +function tempTag2() { + var rest = []; + for (var _i = 0; _i < arguments.length; _i++) { + rest[_i - 0] = arguments[_i]; + } + return undefined; +} +tempTag2 `${function (x) { return x; }}${0}`; +tempTag2 `${function (x) { return x; }}${function (y) { return y; }}${"hello"}`; +tempTag2 `${function (x) { return x; }}${0}`; diff --git a/tests/baselines/reference/taggedTemplateContextualTyping2.types b/tests/baselines/reference/taggedTemplateContextualTyping2.types new file mode 100644 index 00000000000..d7088735bc3 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateContextualTyping2.types @@ -0,0 +1,49 @@ +=== tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping2.ts === + +function tempTag2(templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; +>tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } +>templateStrs : TemplateStringsArray +>TemplateStringsArray : TemplateStringsArray +>f : (x: number) => number +>x : number +>x : number + +function tempTag2(templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; +>tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } +>templateStrs : TemplateStringsArray +>TemplateStringsArray : TemplateStringsArray +>f : (x: string) => string +>x : string +>h : (y: string) => string +>y : string +>x : string + +function tempTag2(...rest: any[]): any { +>tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } +>rest : any[] + + return undefined; +>undefined : undefined +} + +tempTag2 `${ x => x }${ 0 }`; +>tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } +>x => x : (x: number) => number +>x : number +>x : number + +tempTag2 `${ x => x }${ y => y }${ "hello" }`; +>tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } +>x => x : (x: string) => string +>x : string +>x : string +>y => y : (y: string) => string +>y : string +>y : string + +tempTag2 `${ x => x }${ 0 }`; +>tempTag2 : { (templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; (templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; } +>x => x : (x: number) => number +>x : number +>x : number + diff --git a/tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping.ts b/tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping1.ts similarity index 52% rename from tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping.ts rename to tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping1.ts index 5d6137a13ac..1e35b3c9b4b 100644 --- a/tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping.ts +++ b/tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping1.ts @@ -10,13 +10,3 @@ tempTag1 `${ x => x }${ 10 }`; tempTag1 `${ x => x }${ y => y }${ 10 }`; tempTag1 `${ x => x }${ (y: number) => y }${ undefined }`; tempTag1 `${ (x: number) => x }${ y => y }${ undefined }`; - -function tempTag2(templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; -function tempTag2(templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; -function tempTag2(...rest: any[]): any { - return undefined; -} - -tempTag2 `${ x => x }${ 0 }`; -tempTag2 `${ x => x }${ y => y }${ "hello" }`; -tempTag2 `${ x => x }${ 0 }`; \ No newline at end of file diff --git a/tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping2.ts b/tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping2.ts new file mode 100644 index 00000000000..260a3bc0741 --- /dev/null +++ b/tests/cases/conformance/expressions/contextualTyping/taggedTemplateContextualTyping2.ts @@ -0,0 +1,11 @@ +// @target: ES6 + +function tempTag2(templateStrs: TemplateStringsArray, f: (x: number) => number, x: number): number; +function tempTag2(templateStrs: TemplateStringsArray, f: (x: string) => string, h: (y: string) => string, x: string): string; +function tempTag2(...rest: any[]): any { + return undefined; +} + +tempTag2 `${ x => x }${ 0 }`; +tempTag2 `${ x => x }${ y => y }${ "hello" }`; +tempTag2 `${ x => x }${ 0 }`; \ No newline at end of file