@@ -10,7 +10,14 @@ const RuleTester = require('eslint').RuleTester;
1010// ------------------------------------------------------------------------------
1111
1212const eslintTester = new RuleTester ( {
13- parserOptions : { ecmaVersion : 2022 , sourceType : 'module' } ,
13+ parser : require . resolve ( '@babel/eslint-parser' ) ,
14+ parserOptions : {
15+ ecmaVersion : 2022 ,
16+ sourceType : 'module' ,
17+ babelOptions : {
18+ configFile : require . resolve ( '../../../.babelrc' ) ,
19+ } ,
20+ } ,
1421} ) ;
1522
1623const message = 'Supply proper attribute type' ;
@@ -31,6 +38,10 @@ eslintTester.run('no-empty-attrs', rule, {
3138 return attr.underscore();
3239 }),
3340 });` ,
41+ `import Model, { attr } from '@ember-data/model';
42+ export default class UserModel extends Model {
43+ @attr('string') name;
44+ }` ,
3445 ] ,
3546 invalid : [
3647 {
@@ -98,5 +109,29 @@ eslintTester.run('no-empty-attrs', rule, {
98109 output : null ,
99110 errors : [ { message, line : 1 } ] ,
100111 } ,
112+ {
113+ code : `import Model, { attr } from '@ember-data/model';
114+ export default class UserModel extends Model {
115+ @attr() name;
116+ }` ,
117+ output : null ,
118+ errors : [ { message, line : 3 } ] ,
119+ } ,
120+ {
121+ code : `import Model, { attr } from '@ember-data/model';
122+ export default class UserModel extends Model {
123+ @attr name;
124+ }` ,
125+ output : null ,
126+ errors : [ { message, line : 3 } ] ,
127+ } ,
128+ {
129+ code : `import Model, { attr } from '@ember-data/model';
130+ export default (class UserModel extends Model {
131+ @attr name;
132+ });` ,
133+ output : null ,
134+ errors : [ { message, line : 3 } ] ,
135+ } ,
101136 ] ,
102137} ) ;
0 commit comments