Skip to content

Commit 32ffced

Browse files
committed
add test for default export in module augmentation
1 parent 084ab38 commit 32ffced

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

packages/transform/__tests__/rewrite.test.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,5 +242,47 @@ describe('rewriteModule', () => {
242242
}"
243243
`);
244244
});
245+
246+
test('with a class with default export in module augmentation', () => {
247+
let script = {
248+
filename: 'test.ts',
249+
contents: stripIndent`
250+
import Component from '@glimmer/component';
251+
export default class MyComponent extends Component {
252+
}
253+
declare module '@glint/environment-ember-loose/types/registry' {
254+
export default interface Registry {
255+
Test: MyComponent;
256+
}
257+
}
258+
`,
259+
};
260+
261+
let template = {
262+
filename: 'test.hbs',
263+
contents: stripIndent``,
264+
};
265+
266+
let transformedModule = rewriteModule({ script, template }, emberLooseEnvironment);
267+
268+
expect(transformedModule?.errors).toEqual([]);
269+
expect(transformedModule?.transformedContents).toMatchInlineSnapshot(`
270+
"import Component from '@glimmer/component';
271+
export default class MyComponent extends Component {
272+
private static '~template' = (() => {
273+
MyComponent['~template'];
274+
let χ!: typeof import(\\"@glint/environment-ember-loose/types\\");
275+
return χ.template(function(𝚪: import(\\"@glint/environment-ember-loose/types\\").ResolveContext<MyComponent>) {
276+
𝚪;
277+
});
278+
})();
279+
}
280+
declare module '@glint/environment-ember-loose/types/registry' {
281+
export default interface Registry {
282+
Test: MyComponent;
283+
}
284+
}"
285+
`);
286+
});
245287
});
246288
});

0 commit comments

Comments
 (0)