Skip to content

Commit 470678f

Browse files
author
Alex Zherdev
committed
Add tests for create-ava-rule.js
1 parent ad046ca commit 470678f

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

test/create-ava-rule.js

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import test from 'ava';
2+
import avaRuleTester from 'eslint-ava-rule-tester';
3+
import {visitIf} from 'enhance-visitors';
4+
import createAvaRule from '../create-ava-rule';
5+
6+
const rule = {
7+
create: context => {
8+
const ava = createAvaRule();
9+
10+
return ava.merge({
11+
'Program:exit': node => {
12+
if (!ava.isInTestFile()) {
13+
context.report({node, message: 'not a test file'});
14+
}
15+
}
16+
});
17+
}
18+
};
19+
20+
const ruleTester = avaRuleTester(test, {
21+
env: {
22+
es6: true,
23+
},
24+
parserOptions: {
25+
sourceType: 'module'
26+
}
27+
});
28+
29+
ruleTester.run('rule-fixture', rule, {
30+
valid: [
31+
'const test = require(\'ava\');',
32+
'const {serial} = require(\'ava\');',
33+
'const {serial: test} = require(\'ava\');',
34+
'import test from \'ava\';',
35+
'import {serial} from \'ava\';',
36+
'import {serial as test} from \'ava\';'
37+
],
38+
39+
invalid: [
40+
{
41+
code: 'const test2 = require(\'ava\');',
42+
errors: [{message: 'not a test file'}]
43+
},
44+
{
45+
code: 'const {serial2} = require(\'ava\');',
46+
errors: [{message: 'not a test file'}]
47+
},
48+
{
49+
code: 'const {serial2: test} = require(\'ava\');',
50+
errors: [{message: 'not a test file'}]
51+
},
52+
{
53+
code: 'import test2 from \'ava\';',
54+
errors: [{message: 'not a test file'}]
55+
},
56+
{
57+
code: 'import {serial2} from \'ava\';',
58+
errors: [{message: 'not a test file'}]
59+
},
60+
{
61+
code: 'import {serial2 as test} from \'ava\';',
62+
errors: [{message: 'not a test file'}]
63+
}
64+
]
65+
});

0 commit comments

Comments
 (0)