|
|
@@ -37,6 +37,10 @@ const triggerEvent = (type: string, el: Element) => {
|
|
|
describe('SSR hydration', () => {
|
|
|
mockWarn()
|
|
|
|
|
|
+ beforeEach(() => {
|
|
|
+ document.body.innerHTML = ''
|
|
|
+ })
|
|
|
+
|
|
|
test('text', async () => {
|
|
|
const msg = ref('foo')
|
|
|
const { vnode, container } = mountWithHydration('foo', () => msg.value)
|
|
|
@@ -686,5 +690,17 @@ describe('SSR hydration', () => {
|
|
|
// excessive children removal
|
|
|
expect(`Hydration children mismatch`).toHaveBeenWarned()
|
|
|
})
|
|
|
+
|
|
|
+ test('Teleport target has empty children', () => {
|
|
|
+ const teleportContainer = document.createElement('div')
|
|
|
+ teleportContainer.id = 'teleport'
|
|
|
+ document.body.appendChild(teleportContainer)
|
|
|
+
|
|
|
+ mountWithHydration('<!--teleport start--><!--teleport end-->', () =>
|
|
|
+ h(Teleport, { to: '#teleport' }, [h('span', 'value')])
|
|
|
+ )
|
|
|
+ expect(teleportContainer.innerHTML).toBe(`<span>value</span>`)
|
|
|
+ expect(`Hydration children mismatch`).toHaveBeenWarned()
|
|
|
+ })
|
|
|
})
|
|
|
})
|