@@ -13,6 +13,28 @@ const JS_FIXTURE = `export default function foo(a, b) {
13
13
}
14
14
` ;
15
15
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
+
16
38
const ROOT = process . cwd ( ) ;
17
39
const EmberCLITargets = [ 'ember-cli-3-24' , 'ember-cli-3-28' , 'ember-cli' ] ;
18
40
@@ -86,6 +108,19 @@ describe('ember generate', () => {
86
108
return a + b;
87
109
}
88
110
` ,
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
+ `
89
124
} ,
90
125
} ,
91
126
} ,
@@ -98,16 +133,20 @@ describe('ember generate', () => {
98
133
await ember ( [ 'generate' , 'my-blueprint' , 'foo' ] ) ;
99
134
100
135
const generated = await file ( 'app/my-blueprints/foo.js' ) ;
101
-
102
136
expect ( generated ) . toEqual ( JS_FIXTURE ) ;
137
+
138
+ const generatedGjs = await file ( 'app/my-blueprints/foo.gjs' ) ;
139
+ expect ( generatedGjs ) . toEqual ( GJS_FIXTURE ) ;
103
140
} ) ;
104
141
105
142
test ( 'it generates typescript with --typescript' , async ( ) => {
106
143
await ember ( [ 'generate' , 'my-blueprint' , 'foo' , '--typescript' ] ) ;
107
144
108
145
const generated = await file ( 'app/my-blueprints/foo.ts' ) ;
109
-
110
146
expect ( generated ) . toEqual ( TS_FIXTURE ) ;
147
+
148
+ const generatedGts = await file ( 'app/my-blueprints/foo.gts' ) ;
149
+ expect ( generatedGts ) . toEqual ( GTS_FIXTURE ) ;
111
150
} ) ;
112
151
113
152
test ( 'it generates typescript when isTypeScriptProject is true' , async ( ) => {
@@ -119,6 +158,9 @@ describe('ember generate', () => {
119
158
120
159
const generated = await file ( 'app/my-blueprints/foo.ts' ) ;
121
160
expect ( generated ) . toEqual ( TS_FIXTURE ) ;
161
+
162
+ const generatedGts = await file ( 'app/my-blueprints/foo.gts' ) ;
163
+ expect ( generatedGts ) . toEqual ( GTS_FIXTURE ) ;
122
164
} ) ;
123
165
124
166
test ( 'it generates javascript when isTypeScriptProject is explicitly false' , async ( ) => {
@@ -130,6 +172,9 @@ describe('ember generate', () => {
130
172
131
173
const generated = await file ( 'app/my-blueprints/foo.js' ) ;
132
174
expect ( generated ) . toEqual ( JS_FIXTURE ) ;
175
+
176
+ const generatedGjs = await file ( 'app/my-blueprints/foo.gjs' ) ;
177
+ expect ( generatedGjs ) . toEqual ( GJS_FIXTURE ) ;
133
178
} ) ;
134
179
135
180
test ( 'it generates typescript if {typescript: true} is present in ember-cli' , async ( ) => {
@@ -141,13 +186,19 @@ describe('ember generate', () => {
141
186
142
187
const generated = await file ( 'app/my-blueprints/foo.ts' ) ;
143
188
expect ( generated ) . toEqual ( TS_FIXTURE ) ;
189
+
190
+ const generatedGts = await file ( 'app/my-blueprints/foo.gts' ) ;
191
+ expect ( generatedGts ) . toEqual ( GTS_FIXTURE ) ;
144
192
} ) ;
145
193
146
194
test ( 'does not generate typescript when --no-typescript is passed' , async ( ) => {
147
195
await ember ( [ 'generate' , 'my-blueprint' , 'foo' , '--no-typescript' ] ) ;
148
196
149
197
const generated = await file ( 'app/my-blueprints/foo.js' ) ;
150
198
expect ( generated ) . toEqual ( JS_FIXTURE ) ;
199
+
200
+ const generatedGjs = await file ( 'app/my-blueprints/foo.gjs' ) ;
201
+ expect ( generatedGjs ) . toEqual ( GJS_FIXTURE ) ;
151
202
} ) ;
152
203
153
204
test ( 'does not generate typescript when --no-typescript is passed, even in a typescript project' , async ( ) => {
@@ -159,6 +210,9 @@ describe('ember generate', () => {
159
210
160
211
const generated = await file ( 'app/my-blueprints/foo.js' ) ;
161
212
expect ( generated ) . toEqual ( JS_FIXTURE ) ;
213
+
214
+ const generatedGjs = await file ( 'app/my-blueprints/foo.gjs' ) ;
215
+ expect ( generatedGjs ) . toEqual ( GJS_FIXTURE ) ;
162
216
} ) ;
163
217
} ) ;
164
218
0 commit comments