Skip to content

Commit

Permalink
fix(stubs): teleport stub children as a function
Browse files Browse the repository at this point in the history
Fixes #1829
  • Loading branch information
cexbrayat committed Oct 26, 2022
1 parent 6371349 commit 4bb8fd8
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/vnodeTransformers/util.ts
Expand Up @@ -31,15 +31,15 @@ export const createVNodeTransformer = ({
> = new WeakMap()

return (args: VNodeTransformerArgsType, instance: InstanceArgsType) => {
const [originalType, ...restVNodeArgs] = args
const [originalType, props, children, ...restVNodeArgs] = args

if (!isComponent(originalType)) {
return [originalType, ...restVNodeArgs]
return [originalType, props, children, ...restVNodeArgs]
}

const cachedTransformation = transformationCache.get(originalType)
if (cachedTransformation) {
return [cachedTransformation, ...restVNodeArgs]
return [cachedTransformation, props, children, ...restVNodeArgs]
}

const componentType: VNodeTransformerInputComponentType = originalType
Expand All @@ -53,8 +53,12 @@ export const createVNodeTransformer = ({
transformationCache.set(originalType, transformedType)

registerStub({ source: originalType, stub: transformedType })
// https://github.com/vuejs/test-utils/issues/1829
// Teleport should return child nodes as a function
if (transformedType.name === 'teleport') {
return [transformedType, props, () => children, ...restVNodeArgs]
}
}

return [transformedType, ...restVNodeArgs]
return [transformedType, props, children, ...restVNodeArgs]
}
}

0 comments on commit 4bb8fd8

Please sign in to comment.