Skip to content

Commit b883488

Browse files
committed
test(transition-group): update dynamic slot rendering and improve transition handling
1 parent 51ef8b0 commit b883488

File tree

1 file changed

+30
-19
lines changed

1 file changed

+30
-19
lines changed

packages-private/vapor-e2e-test/__tests__/transition-group.spec.ts

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { createVaporApp, nextTick, vaporInteropPlugin } from 'vue'
1+
import { createVaporApp, next, nextTick, vaporInteropPlugin } from 'vue'
22
import { expect } from 'vitest'
33
import App from '../transition-group/App.vue'
44
import '../../../packages/vue/__tests__/e2e/style.css'
@@ -339,48 +339,59 @@ describe('vapor transition-group', () => {
339339
const btnSelector = '.dynamic-slot-with-v-if > button.toggle'
340340
const addBtnSelector = '.dynamic-slot-with-v-if > button.add'
341341
const containerSelector = '.dynamic-slot-with-v-if > div'
342-
expect(await html(containerSelector)).toBe(`<ul></ul>`)
342+
expect(html(containerSelector)).toBe(`<ul></ul><!--transition-group-->`)
343343

344-
expect(
345-
(await transitionStart(btnSelector, containerSelector)).innerHTML,
346-
).toBe(
344+
click(btnSelector)
345+
await nextTick()
346+
await nextFrame()
347+
expect(html(containerSelector)).toBe(
347348
`<ul>` +
348349
`<li class="test v-enter-from v-enter-active">0</li>` +
349350
`<li class="test v-enter-from v-enter-active">1</li>` +
350-
`</ul>`,
351+
`<!--for--></ul><!--transition-group-->`,
351352
)
352353

353-
await waitForInnerHTML(
354-
containerSelector,
354+
await nextFrame()
355+
expect(html(containerSelector)).toBe(
355356
`<ul>` +
356357
`<li class="test v-enter-active v-enter-to">0</li>` +
357358
`<li class="test v-enter-active v-enter-to">1</li>` +
358-
`</ul>`,
359+
`<!--for--></ul><!--transition-group-->`,
359360
)
360361

361-
await waitForInnerHTML(
362-
containerSelector,
363-
`<ul><li class="test">0</li><li class="test">1</li></ul>`,
362+
await transitionFinish(100)
363+
expect(html(containerSelector)).toBe(
364+
`<ul><li class="test">0</li><li class="test">1</li><!--for--></ul><!--transition-group-->`,
364365
)
365366

366367
// add a new item
367-
expect(
368-
(await transitionStart(addBtnSelector, containerSelector)).innerHTML,
369-
).toBe(
368+
click(addBtnSelector)
369+
await nextTick()
370+
await nextFrame()
371+
expect(html(containerSelector)).toBe(
370372
`<ul>` +
371373
`<li class="test">0</li>` +
372374
`<li class="test">1</li>` +
373375
`<li class="test v-enter-from v-enter-active">2</li>` +
374-
`</ul>`,
376+
`<!--for--></ul><!--transition-group-->`,
377+
)
378+
379+
await nextFrame()
380+
expect(html(containerSelector)).toBe(
381+
`<ul>` +
382+
`<li class="test">0</li>` +
383+
`<li class="test">1</li>` +
384+
`<li class="test v-enter-active v-enter-to">2</li>` +
385+
`<!--for--></ul><!--transition-group-->`,
375386
)
376387

377-
await waitForInnerHTML(
378-
containerSelector,
388+
await transitionFinish(100)
389+
expect(html(containerSelector)).toBe(
379390
`<ul>` +
380391
`<li class="test">0</li>` +
381392
`<li class="test">1</li>` +
382393
`<li class="test">2</li>` +
383-
`</ul>`,
394+
`<!--for--></ul><!--transition-group-->`,
384395
)
385396
},
386397
E2E_TIMEOUT,

0 commit comments

Comments
 (0)