/**
* @author Yosuke Ota
* See LICENSE file in root directory for full license.
*/
'use strict'
const RuleTester = require('../../eslint-compat').RuleTester
const rule = require('../../../lib/rules/no-dupe-v-else-if')
const tester = new RuleTester({
languageOptions: {
parser: require('vue-eslint-parser'),
ecmaVersion: 2019,
sourceType: 'module'
}
})
tester.run('no-dupe-v-else-if', rule, {
valid: [
{
filename: 'test.vue',
code: `
`
},
{
filename: 'test.vue',
code: `
`
},
{
filename: 'test.vue',
code: `
`
},
{
filename: 'test.vue',
code: `
`
},
{
filename: 'test.vue',
code: `
`
},
{
filename: 'test.vue',
code: `
`
},
// parse error
{
filename: 'test.vue',
code: `
`
},
{
filename: 'test.vue',
code: `
`
},
// Referred to the ESLint core rule.
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'',
''
],
invalid: [
{
filename: 'test.vue',
code: `
`,
errors: [
{
message:
'This branch can never execute. Its condition is a duplicate or covered by previous conditions in the `v-if` / `v-else-if` chain.',
line: 4,
column: 25,
endLine: 4,
endColumn: 28
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 4
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 6
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 6
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 4
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 5
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 4
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 4
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 4
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 5
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{
messageId: 'unexpected',
line: 4,
column: 25,
endLine: 4,
endColumn: 28
},
{
messageId: 'unexpected',
line: 5,
column: 32,
endLine: 5,
endColumn: 35
}
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{ messageId: 'unexpected', line: 4 },
{ messageId: 'unexpected', line: 5 }
]
},
{
filename: 'test.vue',
code: `
`,
errors: [
{ messageId: 'unexpected', line: 4 },
{ messageId: 'unexpected', line: 5 }
]
},
{
filename: 'foo.vue',
code: `
`,
errors: [{ messageId: 'unexpected' }, { messageId: 'unexpected' }]
},
// Referred to the ESLint core rule.
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }, { messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [
{ messageId: 'unexpected' },
{ messageId: 'unexpected' },
{ messageId: 'unexpected' }
]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }, { messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
},
{
filename: 'test.vue',
code: '',
errors: [{ messageId: 'unexpected' }]
}
]
})