Skip to content

Commit 9195644

Browse files
committed
Move tests to separate file
1 parent 3490626 commit 9195644

File tree

3 files changed

+95
-76
lines changed

3 files changed

+95
-76
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ module.exports = {
4444
}
4545
```
4646

47-
## Configs
47+
## :gear: Configs
4848

4949
This plugin provides two predefined configs:
5050
- `plugin:vue/base` - contains necessary settings for this plugin to work properly

tests/lib/rules/require-render-return.js

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -88,36 +88,6 @@ ruleTester.run('require-render-return', rule, {
8888
}
8989
}`,
9090
parserOptions
91-
},
92-
{
93-
code: `/* @vue/component */
94-
export default {
95-
render() {
96-
return {}
97-
}
98-
}`,
99-
parserOptions
100-
},
101-
{
102-
code: `// @vue/component
103-
export default {
104-
render() {
105-
return {}
106-
}
107-
}`,
108-
parserOptions
109-
},
110-
{
111-
code: `
112-
/**
113-
* @vue/component
114-
*/
115-
export default {
116-
render() {
117-
return {}
118-
}
119-
}`,
120-
parserOptions
12191
}
12292
],
12393

@@ -149,51 +119,6 @@ ruleTester.run('require-render-return', rule, {
149119
type: 'Identifier',
150120
line: 2
151121
}]
152-
},
153-
{
154-
code: `
155-
/* @vue/component */
156-
export default {
157-
render() {
158-
}
159-
}`,
160-
parserOptions,
161-
errors: [{
162-
message: 'Expected to return a value in render function.',
163-
type: 'Identifier',
164-
line: 4
165-
}]
166-
},
167-
{
168-
code: `
169-
// @vue/component
170-
export default {
171-
render() {
172-
}
173-
}`,
174-
parserOptions,
175-
errors: [{
176-
message: 'Expected to return a value in render function.',
177-
type: 'Identifier',
178-
line: 4
179-
}]
180-
},
181-
{
182-
code: `
183-
/**
184-
* @vue/component
185-
*/
186-
export default {
187-
render() {
188-
return
189-
}
190-
}`,
191-
parserOptions,
192-
errors: [{
193-
message: 'Expected to return a value in render function.',
194-
type: 'Identifier',
195-
line: 6
196-
}]
197122
}
198123
]
199124
})

tests/lib/utils/vue-component.js

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
/**
2+
* @fileoverview Enforces that a return statement is present in computed property (return-in-computed-property)
3+
* @author Armano
4+
*/
5+
'use strict'
6+
7+
const utils = require('../../../lib/utils/index')
8+
9+
// ------------------------------------------------------------------------------
10+
// Requirements
11+
// ------------------------------------------------------------------------------
12+
13+
const rule = {
14+
create (context) {
15+
return utils.executeOnVueComponent(context, obj => {
16+
context.report({
17+
node: obj,
18+
message: 'Internal test: component.'
19+
})
20+
})
21+
},
22+
meta: {
23+
fixable: null,
24+
schema: []
25+
}
26+
}
27+
28+
const RuleTester = require('eslint').RuleTester
29+
const parserOptions = {
30+
ecmaVersion: 6,
31+
sourceType: 'module'
32+
}
33+
34+
function makeError (line) {
35+
return {
36+
message: 'Internal test: component.',
37+
line,
38+
type: 'ObjectExpression'
39+
}
40+
}
41+
42+
// ------------------------------------------------------------------------------
43+
// Tests
44+
// ------------------------------------------------------------------------------
45+
46+
const ruleTester = new RuleTester()
47+
ruleTester.run('return-in-computed-property', rule, {
48+
49+
valid: [
50+
{
51+
filename: 'test.js',
52+
code: `export default { }`,
53+
parserOptions
54+
}
55+
],
56+
invalid: [
57+
{
58+
filename: 'test.js',
59+
code: `Vue.component({})`,
60+
parserOptions,
61+
errors: [makeError(1)]
62+
},
63+
{
64+
filename: 'test.vue',
65+
code: `export default { }`,
66+
parserOptions,
67+
errors: [makeError(1)]
68+
},
69+
{
70+
filename: 'test.js',
71+
code: `// @vue/component
72+
export default { }`,
73+
parserOptions,
74+
errors: [makeError(2)]
75+
},
76+
{
77+
filename: 'test.js',
78+
code: `/* @vue/component */
79+
export default { }`,
80+
parserOptions,
81+
errors: [makeError(2)]
82+
},
83+
{
84+
filename: 'test.js',
85+
code: `
86+
/*
87+
* @vue/component
88+
*/
89+
export default { }`,
90+
parserOptions,
91+
errors: [makeError(5)]
92+
}
93+
]
94+
})

0 commit comments

Comments
 (0)