'<span>hello</span><!---->world<!---->'
)
})
+
+ test('teleport inside async component', async () => {
+ const ctx: SSRContext = {}
+ const asyncComponent = {
+ template: '<teleport to="#target"><div>content</div></teleport>',
+ async setup() {}
+ }
+ const html = await renderToString(
+ h({
+ template: '<async-component />',
+ components: { asyncComponent }
+ }),
+ ctx
+ )
+ expect(html).toBe('<!--teleport start--><!--teleport end-->')
+ expect(ctx.teleports!['#target']).toBe(`<div>content</div><!---->`)
+ })
})
input.provide(ssrContextKey, context)
const buffer = await renderComponentVNode(vnode)
+ const result = await unrollBuffer(buffer as SSRBuffer)
+
await resolveTeleports(context)
- return unrollBuffer(buffer as SSRBuffer)
+ return result
}
async function resolveTeleports(context: SSRContext) {