Skip to content

Commit 170b598

Browse files
committed
feat: update test cases
1 parent 4b92a26 commit 170b598

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

lib/rules/require-toggle-inside-transition.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,20 @@
66

77
const utils = require('../utils')
88

9+
/**
10+
* @param {VDirective} vBindAppear
11+
*/
12+
function isValidateBindAppear(vBindAppear) {
13+
if (
14+
vBindAppear.value?.expression &&
15+
vBindAppear.value.expression.type === 'Literal'
16+
) {
17+
return vBindAppear.value.expression?.value !== false
18+
}
19+
20+
return true
21+
}
22+
923
module.exports = {
1024
meta: {
1125
type: 'problem',
@@ -35,9 +49,10 @@ module.exports = {
3549

3650
/** @type VElement */ // @ts-expect-error
3751
const parent = element.parent
52+
const vBindAppear = utils.getDirective(parent, 'bind', 'appear')
3853
if (
3954
utils.hasAttribute(parent, 'appear') ||
40-
utils.hasDirective(parent, 'bind', 'appear')
55+
(vBindAppear && isValidateBindAppear(vBindAppear))
4156
) {
4257
return
4358
}

tests/lib/rules/require-toggle-inside-transition.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,11 @@ tester.run('require-toggle-inside-transition', rule, {
7272
{
7373
// https://github.com/vuejs/eslint-plugin-vue/issues/2467
7474
filename: 'test.vue',
75-
code: '<template><transition :appear="isLoaded"><div /></transition></template>'
75+
code: '<template><transition :appear="foo"><div /></transition></template>'
76+
},
77+
{
78+
filename: 'test.vue',
79+
code: '<template><transition :appear="true"><div /></transition></template>'
7680
}
7781
],
7882
invalid: [
@@ -119,6 +123,11 @@ tester.run('require-toggle-inside-transition', rule, {
119123
code: '<template><Transition> <div /></Transition></template>',
120124
errors: [{ messageId: 'expected' }]
121125
},
126+
{
127+
filename: 'test.vue',
128+
code: '<template><transition :appear="false"><div /></transition></template>',
129+
errors: [{ messageId: 'expected' }]
130+
},
122131
{
123132
filename: 'test.vue',
124133
code: '<template><transition @appear="isLoaded"><div /></transition></template>',

0 commit comments

Comments
 (0)