@@ -560,6 +560,12 @@ ruleTester.run('match-component-file-name', rule, {
560
560
render() { return <div /> }
561
561
}
562
562
` ,
563
+ output : `
564
+ export default {
565
+ name: 'MyComponent',
566
+ render() { return <div /> }
567
+ }
568
+ ` ,
563
569
parserOptions : jsxParserOptions ,
564
570
errors : [
565
571
{
@@ -576,6 +582,35 @@ ruleTester.run('match-component-file-name', rule, {
576
582
render() { return <div /> }
577
583
}
578
584
` ,
585
+ output : `
586
+ export default {
587
+ name: 'MyComponent',
588
+ render() { return <div /> }
589
+ }
590
+ ` ,
591
+ options : [ { extensions : [ 'jsx' ] } ] ,
592
+ parserOptions : jsxParserOptions ,
593
+ errors : [
594
+ {
595
+ message :
596
+ 'Component name `MComponent` should match file name `MyComponent`.'
597
+ }
598
+ ]
599
+ } ,
600
+ {
601
+ filename : 'MyComponent.jsx' ,
602
+ code : `
603
+ export default {
604
+ name: "MComponent",
605
+ render() { return <div /> }
606
+ }
607
+ ` ,
608
+ output : `
609
+ export default {
610
+ name: "MyComponent",
611
+ render() { return <div /> }
612
+ }
613
+ ` ,
579
614
options : [ { extensions : [ 'jsx' ] } ] ,
580
615
parserOptions : jsxParserOptions ,
581
616
errors : [
@@ -593,6 +628,12 @@ ruleTester.run('match-component-file-name', rule, {
593
628
render() { return <div /> }
594
629
}
595
630
` ,
631
+ output : `
632
+ export default {
633
+ name: \`MyComponent\`,
634
+ render() { return <div /> }
635
+ }
636
+ ` ,
596
637
options : [ { extensions : [ 'jsx' ] } ] ,
597
638
parserOptions : jsxParserOptions ,
598
639
errors : [
@@ -614,6 +655,42 @@ ruleTester.run('match-component-file-name', rule, {
614
655
}
615
656
</script>
616
657
` ,
658
+ output : `
659
+ <script>
660
+ export default {
661
+ name: 'MyComponent',
662
+ template: '<div />'
663
+ }
664
+ </script>
665
+ ` ,
666
+ options : [ { extensions : [ 'vue' ] } ] ,
667
+ parser : require . resolve ( 'vue-eslint-parser' ) ,
668
+ parserOptions,
669
+ errors : [
670
+ {
671
+ message :
672
+ 'Component name `MComponent` should match file name `MyComponent`.'
673
+ }
674
+ ]
675
+ } ,
676
+ {
677
+ filename : 'MyComponent.vue' ,
678
+ code : `
679
+ <script>
680
+ export default {
681
+ name: "MComponent",
682
+ template: '<div />'
683
+ }
684
+ </script>
685
+ ` ,
686
+ output : `
687
+ <script>
688
+ export default {
689
+ name: "MyComponent",
690
+ template: '<div />'
691
+ }
692
+ </script>
693
+ ` ,
617
694
options : [ { extensions : [ 'vue' ] } ] ,
618
695
parser : require . resolve ( 'vue-eslint-parser' ) ,
619
696
parserOptions,
@@ -634,6 +711,14 @@ ruleTester.run('match-component-file-name', rule, {
634
711
}
635
712
</script>
636
713
` ,
714
+ output : `
715
+ <script>
716
+ export default {
717
+ name: \`MyComponent\`,
718
+ template: '<div />'
719
+ }
720
+ </script>
721
+ ` ,
637
722
options : [ { extensions : [ 'vue' ] } ] ,
638
723
parser : require . resolve ( 'vue-eslint-parser' ) ,
639
724
parserOptions,
@@ -654,6 +739,35 @@ ruleTester.run('match-component-file-name', rule, {
654
739
template: '<div />'
655
740
})
656
741
` ,
742
+ output : `
743
+ new Vue({
744
+ name: 'MyComponent',
745
+ template: '<div />'
746
+ })
747
+ ` ,
748
+ options : [ { extensions : [ 'js' ] } ] ,
749
+ parserOptions,
750
+ errors : [
751
+ {
752
+ message :
753
+ 'Component name `MComponent` should match file name `MyComponent`.'
754
+ }
755
+ ]
756
+ } ,
757
+ {
758
+ filename : 'MyComponent.js' ,
759
+ code : `
760
+ new Vue({
761
+ name: "MComponent",
762
+ template: '<div />'
763
+ })
764
+ ` ,
765
+ output : `
766
+ new Vue({
767
+ name: "MyComponent",
768
+ template: '<div />'
769
+ })
770
+ ` ,
657
771
options : [ { extensions : [ 'js' ] } ] ,
658
772
parserOptions,
659
773
errors : [
@@ -671,6 +785,12 @@ ruleTester.run('match-component-file-name', rule, {
671
785
template: '<div />'
672
786
})
673
787
` ,
788
+ output : `
789
+ new Vue({
790
+ name: \`MyComponent\`,
791
+ template: '<div />'
792
+ })
793
+ ` ,
674
794
options : [ { extensions : [ 'js' ] } ] ,
675
795
parserOptions,
676
796
errors : [
@@ -687,6 +807,11 @@ ruleTester.run('match-component-file-name', rule, {
687
807
name: 'MComponent',
688
808
})
689
809
` ,
810
+ output : `
811
+ Vue.mixin({
812
+ name: 'MyComponent',
813
+ })
814
+ ` ,
690
815
options : [ { extensions : [ 'js' ] } ] ,
691
816
parserOptions,
692
817
errors : [
@@ -703,6 +828,11 @@ ruleTester.run('match-component-file-name', rule, {
703
828
name: \`MComponent\`,
704
829
})
705
830
` ,
831
+ output : `
832
+ Vue.mixin({
833
+ name: \`MyComponent\`,
834
+ })
835
+ ` ,
706
836
options : [ { extensions : [ 'js' ] } ] ,
707
837
parserOptions,
708
838
errors : [
@@ -719,6 +849,11 @@ ruleTester.run('match-component-file-name', rule, {
719
849
template: '<div />'
720
850
})
721
851
` ,
852
+ output : `
853
+ Vue.component('MyComponent', {
854
+ template: '<div />'
855
+ })
856
+ ` ,
722
857
options : [ { extensions : [ 'js' ] } ] ,
723
858
parserOptions,
724
859
errors : [
@@ -735,6 +870,11 @@ ruleTester.run('match-component-file-name', rule, {
735
870
template: '<div />'
736
871
})
737
872
` ,
873
+ output : `
874
+ Vue.component(\`MyComponent\`, {
875
+ template: '<div />'
876
+ })
877
+ ` ,
738
878
options : [ { extensions : [ 'js' ] } ] ,
739
879
parserOptions,
740
880
errors : [
@@ -751,6 +891,11 @@ ruleTester.run('match-component-file-name', rule, {
751
891
template: '<div />'
752
892
})
753
893
` ,
894
+ output : `
895
+ app.component(\`MyComponent\`, {
896
+ template: '<div />'
897
+ })
898
+ ` ,
754
899
options : [ { extensions : [ 'js' ] } ] ,
755
900
parserOptions,
756
901
errors : [
@@ -770,6 +915,12 @@ ruleTester.run('match-component-file-name', rule, {
770
915
render() { return <div /> }
771
916
}
772
917
` ,
918
+ output : `
919
+ export default {
920
+ name: 'MyComponent',
921
+ render() { return <div /> }
922
+ }
923
+ ` ,
773
924
options : [ { shouldMatchCase : true } ] ,
774
925
parserOptions : jsxParserOptions ,
775
926
errors : [
@@ -787,6 +938,12 @@ ruleTester.run('match-component-file-name', rule, {
787
938
render() { return <div /> }
788
939
}
789
940
` ,
941
+ output : `
942
+ export default {
943
+ name: 'my-component',
944
+ render() { return <div /> }
945
+ }
946
+ ` ,
790
947
options : [ { shouldMatchCase : true } ] ,
791
948
parserOptions : jsxParserOptions ,
792
949
errors : [
0 commit comments