diff --git a/packages/runtime-vapor/__tests__/hydration.spec.ts b/packages/runtime-vapor/__tests__/hydration.spec.ts index d8c40bdc6..016872b56 100644 --- a/packages/runtime-vapor/__tests__/hydration.spec.ts +++ b/packages/runtime-vapor/__tests__/hydration.spec.ts @@ -98,7 +98,57 @@ describe('Vapor Mode hydration', () => { expect(container.innerHTML).toMatchInlineSnapshot(`"bar"`) }) - test.todo('consecutive text nodes', () => {}) + test('consecutive text nodes', async () => { + const { data, container } = await testHydration(` + + `) + expect(container.innerHTML).toMatchInlineSnapshot(`"foofoo"`) + + data.value = 'bar' + await nextTick() + expect(container.innerHTML).toMatchInlineSnapshot(`"barbar"`) + }) + + test('consecutive text nodes with anchor insertion', async () => { + const { data, container } = await testHydration(` + + `) + expect(container.innerHTML).toMatchInlineSnapshot( + `"foofoo"`, + ) + + data.value = 'bar' + await nextTick() + expect(container.innerHTML).toMatchInlineSnapshot( + `"barbar"`, + ) + }) + + test('mixed text nodes', async () => { + const { data, container } = await testHydration(` + + `) + expect(container.innerHTML).toMatchInlineSnapshot(`"fooAfooBfoo"`) + + data.value = 'bar' + await nextTick() + expect(container.innerHTML).toMatchInlineSnapshot(`"barAbarBbar"`) + }) + + test('mixed text nodes with anchor insertion', async () => { + const { data, container } = await testHydration(` + + `) + expect(container.innerHTML).toMatchInlineSnapshot( + `"fooAfooBfoo"`, + ) + + data.value = 'bar' + await nextTick() + expect(container.innerHTML).toMatchInlineSnapshot( + `"barAbarBbar"`, + ) + }) }) describe('element', () => {