@@ -13,6 +13,28 @@ const JS_FIXTURE = `export default function foo(a, b) {
1313}
1414` ;
1515
16+ const GTS_FIXTURE = `import Component from '@glimmer/component';
17+
18+ interface Signature {
19+ Args: {
20+ foo: string;
21+ }
22+ }
23+
24+ export default class Foo extends Component<Signature> {
25+ bar: string = 'bar';
26+ <template>{{@foo}} {{this.bar}}</template>
27+ }
28+ ` ;
29+
30+ const GJS_FIXTURE = `import Component from '@glimmer/component';
31+
32+ export default class Foo extends Component {
33+ bar = 'bar';
34+ <template>{{@foo}} {{this.bar}}</template>
35+ }
36+ ` ;
37+
1638const ROOT = process . cwd ( ) ;
1739const EmberCLITargets = [ 'ember-cli-3-24' , 'ember-cli-3-28' , 'ember-cli' ] ;
1840
@@ -86,6 +108,19 @@ describe('ember generate', () => {
86108 return a + b;
87109}
88110` ,
111+ '__name__.gts' : `import Component from '@glimmer/component';
112+
113+ interface Signature {
114+ Args: {
115+ foo: string;
116+ }
117+ }
118+
119+ export default class <%=classifiedModuleName %> extends Component<Signature> {
120+ bar: string = 'bar';
121+ <template>{{@foo}} {{this.bar}}</template>
122+ }
123+ `
89124 } ,
90125 } ,
91126 } ,
@@ -98,16 +133,20 @@ describe('ember generate', () => {
98133 await ember ( [ 'generate' , 'my-blueprint' , 'foo' ] ) ;
99134
100135 const generated = await file ( 'app/my-blueprints/foo.js' ) ;
101-
102136 expect ( generated ) . toEqual ( JS_FIXTURE ) ;
137+
138+ const generatedGjs = await file ( 'app/my-blueprints/foo.gjs' ) ;
139+ expect ( generatedGjs ) . toEqual ( GJS_FIXTURE ) ;
103140 } ) ;
104141
105142 test ( 'it generates typescript with --typescript' , async ( ) => {
106143 await ember ( [ 'generate' , 'my-blueprint' , 'foo' , '--typescript' ] ) ;
107144
108145 const generated = await file ( 'app/my-blueprints/foo.ts' ) ;
109-
110146 expect ( generated ) . toEqual ( TS_FIXTURE ) ;
147+
148+ const generatedGts = await file ( 'app/my-blueprints/foo.gts' ) ;
149+ expect ( generatedGts ) . toEqual ( GTS_FIXTURE ) ;
111150 } ) ;
112151
113152 test ( 'it generates typescript when isTypeScriptProject is true' , async ( ) => {
@@ -119,6 +158,9 @@ describe('ember generate', () => {
119158
120159 const generated = await file ( 'app/my-blueprints/foo.ts' ) ;
121160 expect ( generated ) . toEqual ( TS_FIXTURE ) ;
161+
162+ const generatedGts = await file ( 'app/my-blueprints/foo.gts' ) ;
163+ expect ( generatedGts ) . toEqual ( GTS_FIXTURE ) ;
122164 } ) ;
123165
124166 test ( 'it generates javascript when isTypeScriptProject is explicitly false' , async ( ) => {
@@ -130,6 +172,9 @@ describe('ember generate', () => {
130172
131173 const generated = await file ( 'app/my-blueprints/foo.js' ) ;
132174 expect ( generated ) . toEqual ( JS_FIXTURE ) ;
175+
176+ const generatedGjs = await file ( 'app/my-blueprints/foo.gjs' ) ;
177+ expect ( generatedGjs ) . toEqual ( GJS_FIXTURE ) ;
133178 } ) ;
134179
135180 test ( 'it generates typescript if {typescript: true} is present in ember-cli' , async ( ) => {
@@ -141,13 +186,19 @@ describe('ember generate', () => {
141186
142187 const generated = await file ( 'app/my-blueprints/foo.ts' ) ;
143188 expect ( generated ) . toEqual ( TS_FIXTURE ) ;
189+
190+ const generatedGts = await file ( 'app/my-blueprints/foo.gts' ) ;
191+ expect ( generatedGts ) . toEqual ( GTS_FIXTURE ) ;
144192 } ) ;
145193
146194 test ( 'does not generate typescript when --no-typescript is passed' , async ( ) => {
147195 await ember ( [ 'generate' , 'my-blueprint' , 'foo' , '--no-typescript' ] ) ;
148196
149197 const generated = await file ( 'app/my-blueprints/foo.js' ) ;
150198 expect ( generated ) . toEqual ( JS_FIXTURE ) ;
199+
200+ const generatedGjs = await file ( 'app/my-blueprints/foo.gjs' ) ;
201+ expect ( generatedGjs ) . toEqual ( GJS_FIXTURE ) ;
151202 } ) ;
152203
153204 test ( 'does not generate typescript when --no-typescript is passed, even in a typescript project' , async ( ) => {
@@ -159,6 +210,9 @@ describe('ember generate', () => {
159210
160211 const generated = await file ( 'app/my-blueprints/foo.js' ) ;
161212 expect ( generated ) . toEqual ( JS_FIXTURE ) ;
213+
214+ const generatedGjs = await file ( 'app/my-blueprints/foo.gjs' ) ;
215+ expect ( generatedGjs ) . toEqual ( GJS_FIXTURE ) ;
162216 } ) ;
163217 } ) ;
164218
0 commit comments