@@ -12,6 +12,12 @@ const rule = require('../../../lib/rules/no-shared-component-data')
1212
1313const RuleTester = require ( 'eslint' ) . RuleTester
1414
15+ const parserOptions = {
16+ ecmaVersion : 7 ,
17+ sourceType : 'module' ,
18+ ecmaFeatures : { experimentalObjectRestSpread : true }
19+ }
20+
1521// ------------------------------------------------------------------------------
1622// Tests
1723// ------------------------------------------------------------------------------
@@ -30,7 +36,8 @@ ruleTester.run('no-shared-component-data', rule, {
3036 }
3137 }
3238 })
33- `
39+ ` ,
40+ parserOptions
3441 } ,
3542 {
3643 filename : 'test.js' ,
@@ -44,11 +51,7 @@ ruleTester.run('no-shared-component-data', rule, {
4451 }
4552 })
4653 ` ,
47- parserOptions : {
48- ecmaVersion : 7 ,
49- sourceType : 'module' ,
50- ecmaFeatures : { experimentalObjectRestSpread : true }
51- }
54+ parserOptions
5255 } ,
5356 {
5457 filename : 'test.js' ,
@@ -71,7 +74,7 @@ ruleTester.run('no-shared-component-data', rule, {
7174 }
7275 })
7376 ` ,
74- parserOptions : { ecmaVersion : 6 }
77+ parserOptions
7578 } ,
7679 {
7780 filename : 'test.vue' ,
@@ -84,7 +87,7 @@ ruleTester.run('no-shared-component-data', rule, {
8487 }
8588 }
8689 ` ,
87- parserOptions : { ecmaVersion : 6 , sourceType : 'module' }
90+ parserOptions
8891 } ,
8992 {
9093 filename : 'test.vue' ,
@@ -93,7 +96,7 @@ ruleTester.run('no-shared-component-data', rule, {
9396 ...foo
9497 }
9598 ` ,
96- parserOptions : { ecmaVersion : 6 , sourceType : 'module' , ecmaFeatures : { experimentalObjectRestSpread : true } }
99+ parserOptions
97100 } ,
98101 {
99102 filename : 'test.vue' ,
@@ -102,7 +105,18 @@ ruleTester.run('no-shared-component-data', rule, {
102105 data
103106 }
104107 ` ,
105- parserOptions : { ecmaVersion : 6 , sourceType : 'module' }
108+ parserOptions
109+ } ,
110+ {
111+ filename : 'test.vue' ,
112+ code : `
113+ export default {
114+ data: () => {
115+
116+ }
117+ }
118+ ` ,
119+ parserOptions
106120 }
107121 ] ,
108122
@@ -116,7 +130,7 @@ ruleTester.run('no-shared-component-data', rule, {
116130 }
117131 })
118132 ` ,
119- parserOptions : { ecmaVersion : 6 } ,
133+ parserOptions,
120134 errors : [ {
121135 message : '`data` property in component must be a function' ,
122136 line : 3
@@ -131,7 +145,7 @@ ruleTester.run('no-shared-component-data', rule, {
131145 }
132146 }
133147 ` ,
134- parserOptions : { ecmaVersion : 6 , sourceType : 'module' } ,
148+ parserOptions,
135149 errors : [ {
136150 message : '`data` property in component must be a function' ,
137151 line : 3
0 commit comments