33 */
44'use strict'
55
6+ const semver = require ( 'semver' )
67const { RuleTester } = require ( '../../eslint-compat' )
78const rule = require ( '../../../lib/rules/func-call-spacing' )
9+ const { eslintStylisticVersion } = require ( '../../test-utils/eslint-stylistic' )
810
911const tester = new RuleTester ( {
1012 languageOptions : { parser : require ( 'vue-eslint-parser' ) , ecmaVersion : 2020 }
1113} )
1214
15+ /**
16+ * @param {number } line
17+ * @param {number } column
18+ * @param {'unexpected' | 'missing' } errorType
19+ * @returns {{line: number, column: number, endLine: number, endColumn: number} }
20+ */
21+ function getErrorPosition ( line , column , errorType ) {
22+ if (
23+ eslintStylisticVersion !== undefined &&
24+ semver . lt ( eslintStylisticVersion , '3.0.0' )
25+ ) {
26+ return {
27+ line,
28+ column : column - 3 ,
29+ endLine : undefined ,
30+ endColumn : undefined
31+ }
32+ }
33+
34+ return {
35+ line,
36+ column,
37+ endLine : line ,
38+ endColumn : errorType === 'unexpected' ? column + 1 : column
39+ }
40+ }
41+
1342tester . run ( 'func-call-spacing' , rule , {
1443 valid : [
1544 `
@@ -61,7 +90,7 @@ tester.run('func-call-spacing', rule, {
6190 errors : [
6291 {
6392 message : 'Unexpected whitespace between function name and paren.' ,
64- line : 3
93+ ... getErrorPosition ( 3 , 23 , 'unexpected' )
6594 }
6695 ]
6796 } ,
@@ -80,7 +109,7 @@ tester.run('func-call-spacing', rule, {
80109 errors : [
81110 {
82111 message : 'Missing space between function name and paren.' ,
83- line : 3
112+ ... getErrorPosition ( 3 , 23 , 'missing' )
84113 }
85114 ]
86115 } ,
@@ -102,7 +131,7 @@ tester.run('func-call-spacing', rule, {
102131 errors : [
103132 {
104133 message : 'Unexpected whitespace between function name and paren.' ,
105- line : 4
134+ ... getErrorPosition ( 4 , 27 , 'unexpected' )
106135 }
107136 ]
108137 }
0 commit comments