@@ -3,83 +3,52 @@ import { describe, expect, test } from 'vitest';
33import {
44 codeToGlimmerAst ,
55 preprocessTemplateRange ,
6+ TEMPLATE_IDENTIFIER
67} from '../../src/parse/preprocess.js' ;
78
89const TEST_CASES = [
910 {
1011 code : '<template>hi</template>' ,
11- expected : [ '{t: `hi `}' ] ,
12+ expected : [ ` ${ TEMPLATE_IDENTIFIER } \ `hi \`` ] ,
1213 } ,
1314 {
1415 code : '<template>/* hi */</template>' ,
15- expected : [ '{t: `~* hi *~ `}' ] ,
16+ expected : [ ` ${ TEMPLATE_IDENTIFIER } \ `~* hi *~ \`` ] ,
1617 } ,
1718 {
1819 code : '<template><div>hi</div></template>' ,
19- expected : [ '{t: `<div>hi<~div> `}' ] ,
20+ expected : [ ` ${ TEMPLATE_IDENTIFIER } \ `<div>hi<~div> \`` ] ,
2021 } ,
2122 {
2223 code : '<template>{{#if true}}hi{{/if}}</template>' ,
23- expected : [ '{t: `{{#if true}}hi{{~if}} `}' ] ,
24+ expected : [ ` ${ TEMPLATE_IDENTIFIER } \ `{{#if true}}hi{{~if}} \`` ] ,
2425 } ,
2526 {
2627 code : '<template>////////////////</template>' ,
27- expected : [ '{t: `~~~~~~~~~~~~~~~~ `}' ] ,
28+ expected : [ ` ${ TEMPLATE_IDENTIFIER } \ `~~~~~~~~~~~~~~~~ \`` ] ,
2829 } ,
2930 {
3031 code : '<template>💩</template>' ,
31- expected : [ '{t: `💩 `}' ] ,
32+ expected : [ ` ${ TEMPLATE_IDENTIFIER } \ `💩 \`` ] ,
3233 } ,
3334 {
3435 code : 'const a = <template>foo</template>; const b = <template>bar</template>;' ,
3536 expected : [
36- ' const a = {t: `foo `} ; const b = <template>bar</template>;' ,
37- ' const a = <template>foo</template>; const b = {t: `bar `};' ,
37+ ` const a = ${ TEMPLATE_IDENTIFIER } \ `foo \` ; const b = <template>bar</template>;` ,
38+ ` const a = <template>foo</template>; const b = ${ TEMPLATE_IDENTIFIER } \ `bar \`;` ,
3839 ] ,
3940 } ,
4041 {
4142 code : `const a = <template>💩💩💩💩💩💩💩</template>; const b = <template>💩</template>` ,
4243 expected : [
43- ' const a = {t: `💩💩💩💩💩💩💩 `} ; const b = <template>💩</template>' ,
44- ' const a = <template>💩💩💩💩💩💩💩</template>; const b = {t: `💩 `}' ,
44+ ` const a = ${ TEMPLATE_IDENTIFIER } \ `💩💩💩💩💩💩💩 \` ; const b = <template>💩</template>` ,
45+ ` const a = <template>💩💩💩💩💩💩💩</template>; const b = ${ TEMPLATE_IDENTIFIER } \ `💩 \`` ,
4546 ] ,
4647 } ,
4748 {
4849 code : 'class Thing { <template>hello</template> }' ,
49- expected : [ 'class Thing { static{t:`hello `} }' ] ,
50- } ,
51- {
52- code : `export default <template> Explicit default export module top level component. Explicit default export module top level component. Explicit default export module top level component. Explicit default export module top level component. Explicit default export module top level component. </template>
53- /*AMBIGUOUS*/` ,
54- expected : [
55- `export default {t:` +
56- '` Explicit default export module top level component. Explicit default export module top level component. Explicit default export module top level component. Explicit default export module top level component. Explicit default export module top level component. `}' +
57- `
58- /*AMBIGUOUS*/` ,
59- ] ,
60- } ,
61- {
62- code : `class MyComponent
63- extends Component {
64- // prettier-ignore
65- <template>
66-
67-
68- <h1> Class top level template. Class top level template. Class top level template. Class top level template. Class top level template. </h1>
69- </template>
70- }` ,
71- expected : [
72- `class MyComponent
73- extends Component {
74- // prettier-ignore
75- static{t:\`
76-
77-
78- <h1> Class top level template. Class top level template. Class top level template. Class top level template. Class top level template. <~h1>
79- \`}
80- }` ,
81- ] ,
82- } ,
50+ expected : [ `class Thing { static{${ TEMPLATE_IDENTIFIER } \`hello \`} }` ] ,
51+ }
8352] ;
8453const FILE_NAME = 'foo.gts' ;
8554
0 commit comments