diff --git a/packages/compiler-core/src/transforms/vIf.ts b/packages/compiler-core/src/transforms/vIf.ts index 2faa16374ee..e8ed3946340 100644 --- a/packages/compiler-core/src/transforms/vIf.ts +++ b/packages/compiler-core/src/transforms/vIf.ts @@ -129,7 +129,12 @@ export function processIf( let i = siblings.indexOf(node) while (i-- >= -1) { const sibling = siblings[i] - if (__DEV__ && sibling && sibling.type === NodeTypes.COMMENT) { + if ( + __DEV__ && + !__TEST__ && + sibling && + sibling.type === NodeTypes.COMMENT + ) { context.removeNode(sibling) comments.unshift(sibling) continue @@ -137,10 +142,13 @@ export function processIf( if ( sibling && - sibling.type === NodeTypes.TEXT && - !sibling.content.trim().length + ((sibling.type === NodeTypes.TEXT && !sibling.content.trim().length) || + sibling.type === NodeTypes.COMMENT) ) { context.removeNode(sibling) + if (sibling.type === NodeTypes.COMMENT) { + comments.unshift(sibling) + } continue }