@@ -644,6 +644,93 @@ describe('api: options', () => {
644
644
expect ( renderToString ( h ( Comp ) ) ) . toBe ( 'from mixin' )
645
645
} )
646
646
647
+ test ( 'chained mixins in extends' , ( ) => {
648
+ const calls : string [ ] = [ ]
649
+ const mixinA = {
650
+ beforeCreate ( ) {
651
+ calls . push ( 'mixinA beforeCreate' )
652
+ } ,
653
+ created ( ) {
654
+ calls . push ( 'mixinA created' )
655
+ }
656
+ }
657
+
658
+ const extendA = {
659
+ mixins : [ mixinA ] ,
660
+ beforeCreate ( ) {
661
+ calls . push ( 'extendA beforeCreate' )
662
+ } ,
663
+ created ( ) {
664
+ calls . push ( 'extendA created' )
665
+ }
666
+ }
667
+
668
+ const Comp = {
669
+ extends : extendA ,
670
+ render : ( ) => '123' ,
671
+ beforeCreate ( ) {
672
+ calls . push ( 'self beforeCreate' )
673
+ } ,
674
+ created ( ) {
675
+ calls . push ( 'self created' )
676
+ }
677
+ }
678
+
679
+ expect ( renderToString ( h ( Comp ) ) ) . toBe ( `123` )
680
+ expect ( calls ) . toEqual ( [
681
+ 'mixinA beforeCreate' ,
682
+ 'extendA beforeCreate' ,
683
+ 'self beforeCreate' ,
684
+ 'mixinA created' ,
685
+ 'extendA created' ,
686
+ 'self created'
687
+ ] )
688
+ } )
689
+
690
+ test ( 'chained extends in mixins' , ( ) => {
691
+ const calls : string [ ] = [ ]
692
+
693
+ const extendA = {
694
+ beforeCreate ( ) {
695
+ calls . push ( 'extendA beforeCreate' )
696
+ } ,
697
+ created ( ) {
698
+ calls . push ( 'extendA created' )
699
+ }
700
+ }
701
+
702
+ const mixinA = {
703
+ extends : extendA ,
704
+ beforeCreate ( ) {
705
+ calls . push ( 'mixinA beforeCreate' )
706
+ } ,
707
+ created ( ) {
708
+ calls . push ( 'mixinA created' )
709
+ }
710
+ }
711
+
712
+ const Comp = {
713
+ mixins : [ mixinA ] ,
714
+ render : ( ) => '123' ,
715
+ beforeCreate ( ) {
716
+ calls . push ( 'self beforeCreate' )
717
+ } ,
718
+ created ( ) {
719
+ calls . push ( 'self created' )
720
+ }
721
+ }
722
+
723
+ expect ( renderToString ( h ( Comp ) ) ) . toBe ( `123` )
724
+ expect ( calls ) . toEqual ( [
725
+ 'extendA beforeCreate' ,
726
+ 'mixinA beforeCreate' ,
727
+ 'self beforeCreate' ,
728
+ 'extendA created' ,
729
+ 'mixinA created' ,
730
+ 'self created'
731
+ ] )
732
+ } )
733
+
647
734
test ( 'extends' , ( ) => {
648
735
const calls : string [ ] = [ ]
649
736
const Base = {
0 commit comments