diff --git a/packages/runtime-dom/__tests__/customElement.spec.ts b/packages/runtime-dom/__tests__/customElement.spec.ts index a3d35790f31..7826f438300 100644 --- a/packages/runtime-dom/__tests__/customElement.spec.ts +++ b/packages/runtime-dom/__tests__/customElement.spec.ts @@ -72,6 +72,18 @@ describe('defineCustomElement', () => { expect(e._instance).toBe(i) expect(e.shadowRoot!.innerHTML).toBe('
hello
') }) + + test('remove then insert again', async () => { + container.innerHTML = `` + const e = container.childNodes[0] as VueElement + container.removeChild(e) + await nextTick() + expect(e._instance).toBe(null) + expect(e.shadowRoot!.innerHTML).toBe('') + container.appendChild(e) + expect(e._instance).toBeTruthy() + expect(e.shadowRoot!.innerHTML).toBe('
hello
') + }) }) describe('props', () => {