Open
Description
Describe the bug
Components that render multiple root nodes or <slot />
in root won't be cleaned up properly after each test or by calling cleanup
manually.
To Reproduce
The following test cases will currently fail if added to auto-cleanup.js
.
test('renders single slot component', () => {
render({template: `<slot />`})
expect(document.body.innerHTML).toMatchInlineSnapshot(`<div></div>`)
})
// this is about to fail because wrapping <div> from previous test won't be removed.
test('renders multiple root nodes component', () => {
render({template: `
<h1>Hello World</h1>
<h2>Hello World</h2>`
})
expect(document.body.innerHTML).toMatchInlineSnapshot(`
<div>
<h1>Hello World</h1>
<h2>Hello World</h2>
</div>
`)
})
// this will fail because body will still have 2 `<div>` elements attached.
test('cleans up after each test by default', () => {
expect(document.body.innerHTML).toMatchInlineSnapshot(``)
})
Expected behavior
cleanup
should remove all attached wrapping elements from body
.
Related information:
@testing-library/vue
version: 6.6.1Vue
version: 3.2.45node
version: 18.2.1npm
(oryarn
) version: yarn 3.2.4
Activity