11import test from 'ava' ;
2- import { RuleTester } from 'eslint' ;
2+ import avaRuleTester from 'eslint-ava-rule-tester ' ;
33import rule from '../rules/filename-case' ;
44
5- const ruleTester = new RuleTester ( {
5+ const ruleTester = avaRuleTester ( test , {
66 env : {
77 es6 : true
88 }
@@ -20,141 +20,139 @@ function testCase(filename, chosenCase, errorMessage) {
2020 } ;
2121}
2222
23- test ( ( ) => {
24- ruleTester . run ( 'filename-case' , rule , {
25- valid : [
26- testCase ( 'src/foo/bar.js' , 'camelCase' ) ,
27- testCase ( 'src/foo/fooBar.js' , 'camelCase' ) ,
28- testCase ( 'src/foo/bar.test.js' , 'camelCase' ) ,
29- testCase ( 'src/foo/fooBar.test.js' , 'camelCase' ) ,
30- testCase ( 'src/foo/fooBar.testUtils.js' , 'camelCase' ) ,
31- testCase ( 'src/foo/foo.js' , 'snakeCase' ) ,
32- testCase ( 'src/foo/foo_bar.js' , 'snakeCase' ) ,
33- testCase ( 'src/foo/foo.test.js' , 'snakeCase' ) ,
34- testCase ( 'src/foo/foo_bar.test.js' , 'snakeCase' ) ,
35- testCase ( 'src/foo/foo_bar.test_utils.js' , 'snakeCase' ) ,
36- testCase ( 'src/foo/foo.js' , 'kebabCase' ) ,
37- testCase ( 'src/foo/foo-bar.js' , 'kebabCase' ) ,
38- testCase ( 'src/foo/foo.test.js' , 'kebabCase' ) ,
39- testCase ( 'src/foo/foo-bar.test.js' , 'kebabCase' ) ,
40- testCase ( 'src/foo/foo-bar.test-utils.js' , 'kebabCase' ) ,
41- testCase ( 'src/foo/Foo.js' , 'pascalCase' ) ,
42- testCase ( 'src/foo/FooBar.js' , 'pascalCase' ) ,
43- testCase ( 'src/foo/Foo.Test.js' , 'pascalCase' ) ,
44- testCase ( 'src/foo/FooBar.Test.js' , 'pascalCase' ) ,
45- testCase ( 'src/foo/FooBar.TestUtils.js' , 'pascalCase' ) ,
46- testCase ( 'spec/iss47Spec.js' , 'camelCase' ) ,
47- testCase ( 'spec/iss47Spec100.js' , 'camelCase' ) ,
48- testCase ( 'spec/i18n.js' , 'camelCase' ) ,
49- testCase ( 'spec/iss47-spec.js' , 'kebabCase' ) ,
50- testCase ( 'spec/iss-47-spec.js' , 'kebabCase' ) ,
51- testCase ( 'spec/iss47-100spec.js' , 'kebabCase' ) ,
52- testCase ( 'spec/i18n.js' , 'kebabCase' ) ,
53- testCase ( 'spec/iss47_spec.js' , 'snakeCase' ) ,
54- testCase ( 'spec/iss_47_spec.js' , 'snakeCase' ) ,
55- testCase ( 'spec/iss47_100spec.js' , 'snakeCase' ) ,
56- testCase ( 'spec/i18n.js' , 'snakeCase' ) ,
57- testCase ( 'spec/Iss47Spec.js' , 'pascalCase' ) ,
58- testCase ( 'spec/Iss47.100Spec.js' , 'pascalCase' ) ,
59- testCase ( 'spec/I18n.js' , 'pascalCase' ) ,
60- testCase ( '<text>' , 'camelCase' ) ,
61- testCase ( '<text>' , 'snakeCase' ) ,
62- testCase ( '<text>' , 'kebabCase' ) ,
63- testCase ( '<text>' , 'pascalCase' ) ,
64- testCase ( 'src/foo/_fooBar.js' , 'camelCase' ) ,
65- testCase ( 'src/foo/___fooBar.js' , 'camelCase' ) ,
66- testCase ( 'src/foo/_foo_bar.js' , 'snakeCase' ) ,
67- testCase ( 'src/foo/___foo_bar.js' , 'snakeCase' ) ,
68- testCase ( 'src/foo/_foo-bar.js' , 'kebabCase' ) ,
69- testCase ( 'src/foo/___foo-bar.js' , 'kebabCase' ) ,
70- testCase ( 'src/foo/_FooBar.js' , 'pascalCase' ) ,
71- testCase ( 'src/foo/___FooBar.js' , 'pascalCase' )
72- ] ,
73- invalid : [
74- testCase ( 'src/foo/foo_bar.js' ,
75- undefined ,
76- 'Filename is not in camel case. Rename it to `fooBar.js`.'
77- ) ,
78- testCase ( 'src/foo/foo_bar.js' ,
79- 'camelCase' ,
80- 'Filename is not in camel case. Rename it to `fooBar.js`.'
81- ) ,
82- testCase ( 'src/foo/foo_bar.test.js' ,
83- 'camelCase' ,
84- 'Filename is not in camel case. Rename it to `fooBar.test.js`.'
85- ) ,
86- testCase ( 'test/foo/foo_bar.test_utils.js' ,
87- 'camelCase' ,
88- 'Filename is not in camel case. Rename it to `fooBar.testUtils.js`.'
89- ) ,
90- testCase ( 'test/foo/fooBar.js' ,
91- 'snakeCase' ,
92- 'Filename is not in snake case. Rename it to `foo_bar.js`.'
93- ) ,
94- testCase ( 'test/foo/fooBar.test.js' ,
95- 'snakeCase' ,
96- 'Filename is not in snake case. Rename it to `foo_bar.test.js`.'
97- ) ,
98- testCase ( 'test/foo/fooBar.testUtils.js' ,
99- 'snakeCase' ,
100- 'Filename is not in snake case. Rename it to `foo_bar.test_utils.js`.'
101- ) ,
102- testCase ( 'test/foo/fooBar.js' ,
103- 'kebabCase' ,
104- 'Filename is not in kebab case. Rename it to `foo-bar.js`.'
105- ) ,
106- testCase ( 'test/foo/fooBar.test.js' ,
107- 'kebabCase' ,
108- 'Filename is not in kebab case. Rename it to `foo-bar.test.js`.'
109- ) ,
110- testCase ( 'test/foo/fooBar.testUtils.js' ,
111- 'kebabCase' ,
112- 'Filename is not in kebab case. Rename it to `foo-bar.test-utils.js`.'
113- ) ,
114- testCase ( 'test/foo/fooBar.js' ,
115- 'pascalCase' ,
116- 'Filename is not in pascal case. Rename it to `FooBar.js`.'
117- ) ,
118- testCase ( 'test/foo/foo_bar.test.js' ,
119- 'pascalCase' ,
120- 'Filename is not in pascal case. Rename it to `FooBar.Test.js`.'
121- ) ,
122- testCase ( 'test/foo/foo-bar.test-utils.js' ,
123- 'pascalCase' ,
124- 'Filename is not in pascal case. Rename it to `FooBar.TestUtils.js`.'
125- ) ,
126- testCase ( 'src/foo/_FOO-BAR.js' ,
127- 'camelCase' ,
128- 'Filename is not in camel case. Rename it to `_fooBar.js`.'
129- ) ,
130- testCase ( 'src/foo/___FOO-BAR.js' ,
131- 'camelCase' ,
132- 'Filename is not in camel case. Rename it to `___fooBar.js`.'
133- ) ,
134- testCase ( 'src/foo/_FOO-BAR.js' ,
135- 'snakeCase' ,
136- 'Filename is not in snake case. Rename it to `_foo_bar.js`.'
137- ) ,
138- testCase ( 'src/foo/___FOO-BAR.js' ,
139- 'snakeCase' ,
140- 'Filename is not in snake case. Rename it to `___foo_bar.js`.'
141- ) ,
142- testCase ( 'src/foo/_FOO-BAR.js' ,
143- 'kebabCase' ,
144- 'Filename is not in kebab case. Rename it to `_foo-bar.js`.'
145- ) ,
146- testCase ( 'src/foo/___FOO-BAR.js' ,
147- 'kebabCase' ,
148- 'Filename is not in kebab case. Rename it to `___foo-bar.js`.'
149- ) ,
150- testCase ( 'src/foo/_FOO-BAR.js' ,
151- 'pascalCase' ,
152- 'Filename is not in pascal case. Rename it to `_FooBar.js`.'
153- ) ,
154- testCase ( 'src/foo/___FOO-BAR.js' ,
155- 'pascalCase' ,
156- 'Filename is not in pascal case. Rename it to `___FooBar.js`.'
157- )
158- ]
159- } ) ;
23+ ruleTester . run ( 'filename-case' , rule , {
24+ valid : [
25+ testCase ( 'src/foo/bar.js' , 'camelCase' ) ,
26+ testCase ( 'src/foo/fooBar.js' , 'camelCase' ) ,
27+ testCase ( 'src/foo/bar.test.js' , 'camelCase' ) ,
28+ testCase ( 'src/foo/fooBar.test.js' , 'camelCase' ) ,
29+ testCase ( 'src/foo/fooBar.testUtils.js' , 'camelCase' ) ,
30+ testCase ( 'src/foo/foo.js' , 'snakeCase' ) ,
31+ testCase ( 'src/foo/foo_bar.js' , 'snakeCase' ) ,
32+ testCase ( 'src/foo/foo.test.js' , 'snakeCase' ) ,
33+ testCase ( 'src/foo/foo_bar.test.js' , 'snakeCase' ) ,
34+ testCase ( 'src/foo/foo_bar.test_utils.js' , 'snakeCase' ) ,
35+ testCase ( 'src/foo/foo.js' , 'kebabCase' ) ,
36+ testCase ( 'src/foo/foo-bar.js' , 'kebabCase' ) ,
37+ testCase ( 'src/foo/foo.test.js' , 'kebabCase' ) ,
38+ testCase ( 'src/foo/foo-bar.test.js' , 'kebabCase' ) ,
39+ testCase ( 'src/foo/foo-bar.test-utils.js' , 'kebabCase' ) ,
40+ testCase ( 'src/foo/Foo.js' , 'pascalCase' ) ,
41+ testCase ( 'src/foo/FooBar.js' , 'pascalCase' ) ,
42+ testCase ( 'src/foo/Foo.Test.js' , 'pascalCase' ) ,
43+ testCase ( 'src/foo/FooBar.Test.js' , 'pascalCase' ) ,
44+ testCase ( 'src/foo/FooBar.TestUtils.js' , 'pascalCase' ) ,
45+ testCase ( 'spec/iss47Spec.js' , 'camelCase' ) ,
46+ testCase ( 'spec/iss47Spec100.js' , 'camelCase' ) ,
47+ testCase ( 'spec/i18n.js' , 'camelCase' ) ,
48+ testCase ( 'spec/iss47-spec.js' , 'kebabCase' ) ,
49+ testCase ( 'spec/iss-47-spec.js' , 'kebabCase' ) ,
50+ testCase ( 'spec/iss47-100spec.js' , 'kebabCase' ) ,
51+ testCase ( 'spec/i18n.js' , 'kebabCase' ) ,
52+ testCase ( 'spec/iss47_spec.js' , 'snakeCase' ) ,
53+ testCase ( 'spec/iss_47_spec.js' , 'snakeCase' ) ,
54+ testCase ( 'spec/iss47_100spec.js' , 'snakeCase' ) ,
55+ testCase ( 'spec/i18n.js' , 'snakeCase' ) ,
56+ testCase ( 'spec/Iss47Spec.js' , 'pascalCase' ) ,
57+ testCase ( 'spec/Iss47.100Spec.js' , 'pascalCase' ) ,
58+ testCase ( 'spec/I18n.js' , 'pascalCase' ) ,
59+ testCase ( '<text>' , 'camelCase' ) ,
60+ testCase ( '<text>' , 'snakeCase' ) ,
61+ testCase ( '<text>' , 'kebabCase' ) ,
62+ testCase ( '<text>' , 'pascalCase' ) ,
63+ testCase ( 'src/foo/_fooBar.js' , 'camelCase' ) ,
64+ testCase ( 'src/foo/___fooBar.js' , 'camelCase' ) ,
65+ testCase ( 'src/foo/_foo_bar.js' , 'snakeCase' ) ,
66+ testCase ( 'src/foo/___foo_bar.js' , 'snakeCase' ) ,
67+ testCase ( 'src/foo/_foo-bar.js' , 'kebabCase' ) ,
68+ testCase ( 'src/foo/___foo-bar.js' , 'kebabCase' ) ,
69+ testCase ( 'src/foo/_FooBar.js' , 'pascalCase' ) ,
70+ testCase ( 'src/foo/___FooBar.js' , 'pascalCase' )
71+ ] ,
72+ invalid : [
73+ testCase ( 'src/foo/foo_bar.js' ,
74+ undefined ,
75+ 'Filename is not in camel case. Rename it to `fooBar.js`.'
76+ ) ,
77+ testCase ( 'src/foo/foo_bar.js' ,
78+ 'camelCase' ,
79+ 'Filename is not in camel case. Rename it to `fooBar.js`.'
80+ ) ,
81+ testCase ( 'src/foo/foo_bar.test.js' ,
82+ 'camelCase' ,
83+ 'Filename is not in camel case. Rename it to `fooBar.test.js`.'
84+ ) ,
85+ testCase ( 'test/foo/foo_bar.test_utils.js' ,
86+ 'camelCase' ,
87+ 'Filename is not in camel case. Rename it to `fooBar.testUtils.js`.'
88+ ) ,
89+ testCase ( 'test/foo/fooBar.js' ,
90+ 'snakeCase' ,
91+ 'Filename is not in snake case. Rename it to `foo_bar.js`.'
92+ ) ,
93+ testCase ( 'test/foo/fooBar.test.js' ,
94+ 'snakeCase' ,
95+ 'Filename is not in snake case. Rename it to `foo_bar.test.js`.'
96+ ) ,
97+ testCase ( 'test/foo/fooBar.testUtils.js' ,
98+ 'snakeCase' ,
99+ 'Filename is not in snake case. Rename it to `foo_bar.test_utils.js`.'
100+ ) ,
101+ testCase ( 'test/foo/fooBar.js' ,
102+ 'kebabCase' ,
103+ 'Filename is not in kebab case. Rename it to `foo-bar.js`.'
104+ ) ,
105+ testCase ( 'test/foo/fooBar.test.js' ,
106+ 'kebabCase' ,
107+ 'Filename is not in kebab case. Rename it to `foo-bar.test.js`.'
108+ ) ,
109+ testCase ( 'test/foo/fooBar.testUtils.js' ,
110+ 'kebabCase' ,
111+ 'Filename is not in kebab case. Rename it to `foo-bar.test-utils.js`.'
112+ ) ,
113+ testCase ( 'test/foo/fooBar.js' ,
114+ 'pascalCase' ,
115+ 'Filename is not in pascal case. Rename it to `FooBar.js`.'
116+ ) ,
117+ testCase ( 'test/foo/foo_bar.test.js' ,
118+ 'pascalCase' ,
119+ 'Filename is not in pascal case. Rename it to `FooBar.Test.js`.'
120+ ) ,
121+ testCase ( 'test/foo/foo-bar.test-utils.js' ,
122+ 'pascalCase' ,
123+ 'Filename is not in pascal case. Rename it to `FooBar.TestUtils.js`.'
124+ ) ,
125+ testCase ( 'src/foo/_FOO-BAR.js' ,
126+ 'camelCase' ,
127+ 'Filename is not in camel case. Rename it to `_fooBar.js`.'
128+ ) ,
129+ testCase ( 'src/foo/___FOO-BAR.js' ,
130+ 'camelCase' ,
131+ 'Filename is not in camel case. Rename it to `___fooBar.js`.'
132+ ) ,
133+ testCase ( 'src/foo/_FOO-BAR.js' ,
134+ 'snakeCase' ,
135+ 'Filename is not in snake case. Rename it to `_foo_bar.js`.'
136+ ) ,
137+ testCase ( 'src/foo/___FOO-BAR.js' ,
138+ 'snakeCase' ,
139+ 'Filename is not in snake case. Rename it to `___foo_bar.js`.'
140+ ) ,
141+ testCase ( 'src/foo/_FOO-BAR.js' ,
142+ 'kebabCase' ,
143+ 'Filename is not in kebab case. Rename it to `_foo-bar.js`.'
144+ ) ,
145+ testCase ( 'src/foo/___FOO-BAR.js' ,
146+ 'kebabCase' ,
147+ 'Filename is not in kebab case. Rename it to `___foo-bar.js`.'
148+ ) ,
149+ testCase ( 'src/foo/_FOO-BAR.js' ,
150+ 'pascalCase' ,
151+ 'Filename is not in pascal case. Rename it to `_FooBar.js`.'
152+ ) ,
153+ testCase ( 'src/foo/___FOO-BAR.js' ,
154+ 'pascalCase' ,
155+ 'Filename is not in pascal case. Rename it to `___FooBar.js`.'
156+ )
157+ ]
160158} ) ;
0 commit comments