File tree Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Original file line number Diff line number Diff line change 9999 " unittests/evaluation/optionalCall.ts" ,
100100 " unittests/evaluation/objectRest.ts" ,
101101 " unittests/evaluation/superInStaticInitializer.ts" ,
102+ " unittests/evaluation/templateLiteral.ts" ,
102103 " unittests/evaluation/updateExpressionInModule.ts" ,
103104 " unittests/services/cancellableLanguageServiceOperations.ts" ,
104105 " unittests/services/colorization.ts" ,
Original file line number Diff line number Diff line change 1+ describe ( "unittests:: evaluation:: templateLiteral" , ( ) => {
2+ it ( "toString() over valueOf()" , ( ) => {
3+ const result = evaluator . evaluateTypeScript ( `
4+ class C {
5+ toString() {
6+ return "toString";
7+ }
8+ valueOf() {
9+ return "valueOf";
10+ }
11+ }
12+
13+ export const output = \`\${new C}\`;
14+ ` ) ;
15+ assert . strictEqual ( result . output , "toString" ) ;
16+ } ) ;
17+
18+ it ( "correct evaluation order" , ( ) => {
19+ const result = evaluator . evaluateTypeScript ( `
20+ class C {
21+ counter: number;
22+
23+ constructor() {
24+ this.counter = 0;
25+ }
26+
27+ get foo() {
28+ this.counter++;
29+ return {
30+ toString: () => this.counter++,
31+ };
32+ }
33+ }
34+
35+ const c = new C;
36+ export const output = \`\${c.foo} \${c.foo}\`;
37+ ` ) ;
38+ assert . strictEqual ( result . output , "1 3" ) ;
39+ } ) ;
40+ } ) ;
You can’t perform that action at this time.
0 commit comments