diff --git a/packages/runtime-vapor/__tests__/hydration.spec.ts b/packages/runtime-vapor/__tests__/hydration.spec.ts index 20b357c50..86c110e20 100644 --- a/packages/runtime-vapor/__tests__/hydration.spec.ts +++ b/packages/runtime-vapor/__tests__/hydration.spec.ts @@ -2644,6 +2644,109 @@ describe('Vapor Mode hydration', () => { `bar`, ) }) + + test('forwarded slot', async () => { + const data = reactive({ + foo: 'foo', + bar: 'bar', + }) + const { container } = await testHydration( + ``, + { + Parent: ``, + Child: ``, + }, + data, + ) + expect(container.innerHTML).toBe( + `
` + + `
` + + `
` + + `` + + `foo` + + `` + + `` + + `
` + + `
` + + `
bar
` + + `
`, + ) + + data.foo = 'foo1' + data.bar = 'bar1' + await nextTick() + expect(container.innerHTML).toBe( + `
` + + `
` + + `
` + + `` + + `foo1` + + `` + + `` + + `
` + + `
` + + `
bar1
` + + `
`, + ) + }) + + test('forwarded slot with empty content', async () => { + const data = reactive({ + foo: 'foo', + }) + const { container } = await testHydration( + ``, + { + Foo: ``, + Bar: ``, + Baz: ``, + Qux: ``, + }, + data, + ) + + expect(container.innerHTML).toBe( + `
foo
`, + ) + + data.foo = 'bar' + await nextTick() + expect(container.innerHTML).toBe( + `
bar
`, + ) + }) }) describe.todo('transition', async () => {