From 4e5c7be228ea95352279d46e5c4566fe460644ff Mon Sep 17 00:00:00 2001 From: Jack Williams Date: Tue, 6 Mar 2018 10:46:16 +0000 Subject: [PATCH] Add test case for taggedTemplate with symbol param and number return --- ...ggedTemplateStringWithSymbolExpression01.js | 17 +++++++++++++++++ ...emplateStringWithSymbolExpression01.symbols | 16 ++++++++++++++++ ...dTemplateStringWithSymbolExpression01.types | 18 ++++++++++++++++++ ...ggedTemplateStringWithSymbolExpression01.ts | 6 ++++++ 4 files changed, 57 insertions(+) create mode 100644 tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.js create mode 100644 tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.symbols create mode 100644 tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types create mode 100644 tests/cases/compiler/taggedTemplateStringWithSymbolExpression01.ts diff --git a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.js b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.js new file mode 100644 index 00000000000..4f02e7644f7 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.js @@ -0,0 +1,17 @@ +//// [taggedTemplateStringWithSymbolExpression01.ts] +// taggedTemplateStringWithSymbolExpression01.ts + +declare function foo(template: any, val: symbol): number; +let x!: symbol; + +let result: number = foo`${x}`; + + +//// [taggedTemplateStringWithSymbolExpression01.js] +// taggedTemplateStringWithSymbolExpression01.ts +var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; +}; +var x; +var result = foo(__makeTemplateObject(["", ""], ["", ""]), x); diff --git a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.symbols b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.symbols new file mode 100644 index 00000000000..743d31193d4 --- /dev/null +++ b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.symbols @@ -0,0 +1,16 @@ +=== tests/cases/compiler/taggedTemplateStringWithSymbolExpression01.ts === +// taggedTemplateStringWithSymbolExpression01.ts + +declare function foo(template: any, val: symbol): number; +>foo : Symbol(foo, Decl(taggedTemplateStringWithSymbolExpression01.ts, 0, 0)) +>template : Symbol(template, Decl(taggedTemplateStringWithSymbolExpression01.ts, 2, 21)) +>val : Symbol(val, Decl(taggedTemplateStringWithSymbolExpression01.ts, 2, 35)) + +let x!: symbol; +>x : Symbol(x, Decl(taggedTemplateStringWithSymbolExpression01.ts, 3, 3)) + +let result: number = foo`${x}`; +>result : Symbol(result, Decl(taggedTemplateStringWithSymbolExpression01.ts, 5, 3)) +>foo : Symbol(foo, Decl(taggedTemplateStringWithSymbolExpression01.ts, 0, 0)) +>x : Symbol(x, Decl(taggedTemplateStringWithSymbolExpression01.ts, 3, 3)) + diff --git a/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types new file mode 100644 index 00000000000..f1a16a7f8ef --- /dev/null +++ b/tests/baselines/reference/taggedTemplateStringWithSymbolExpression01.types @@ -0,0 +1,18 @@ +=== tests/cases/compiler/taggedTemplateStringWithSymbolExpression01.ts === +// taggedTemplateStringWithSymbolExpression01.ts + +declare function foo(template: any, val: symbol): number; +>foo : (template: any, val: symbol) => number +>template : any +>val : symbol + +let x!: symbol; +>x : symbol + +let result: number = foo`${x}`; +>result : number +>foo`${x}` : number +>foo : (template: any, val: symbol) => number +>`${x}` : string +>x : symbol + diff --git a/tests/cases/compiler/taggedTemplateStringWithSymbolExpression01.ts b/tests/cases/compiler/taggedTemplateStringWithSymbolExpression01.ts new file mode 100644 index 00000000000..0cbf3c00e38 --- /dev/null +++ b/tests/cases/compiler/taggedTemplateStringWithSymbolExpression01.ts @@ -0,0 +1,6 @@ +// taggedTemplateStringWithSymbolExpression01.ts + +declare function foo(template: any, val: symbol): number; +let x!: symbol; + +let result: number = foo`${x}`;