@@ -304,6 +304,20 @@ describe('native components', () => {
304304 expect ( generateSnapshot ( source , template ) ) . toMatchSnapshot ( ) ;
305305 } ) ;
306306
307+ test ( 'basic mixins' , ( ) => {
308+ let source = `
309+ import Component from '@ember/component';
310+ import SuperMixin from 'some-place';
311+
312+ export default class FooComponent extends Component.extends(SuperMixin) {
313+ }
314+ ` ;
315+
316+ let template = `foo` ;
317+
318+ expect ( generateSnapshot ( source , template ) ) . toMatchSnapshot ( ) ;
319+ } ) ;
320+
307321 test ( 'replaces existing `tagName`' , ( ) => {
308322 let source = `
309323 import Component from '@ember/component';
@@ -319,6 +333,22 @@ describe('native components', () => {
319333 expect ( generateSnapshot ( source , template ) ) . toMatchSnapshot ( ) ;
320334 } ) ;
321335
336+ test ( 'replaces existing `tagName` on a mixin class' , ( ) => {
337+ let source = `
338+ import Component from '@ember/component';
339+ import { tagName } from '@ember-decorators/component';
340+ import SomeMixin from 'somewhere';
341+
342+ @tagName('span')
343+ export default class FooComponent extends Component.extends(SomeMixin) {
344+ }
345+ ` ;
346+
347+ let template = `foo` ;
348+
349+ expect ( generateSnapshot ( source , template ) ) . toMatchSnapshot ( ) ;
350+ } ) ;
351+
322352 test ( 'handles `elementId` correctly' , ( ) => {
323353 let source = `
324354 import Component from '@ember/component';
0 commit comments