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', () => {