|
1 | | -import { createVaporApp, nextTick, vaporInteropPlugin } from 'vue' |
| 1 | +import { createVaporApp, next, nextTick, vaporInteropPlugin } from 'vue' |
2 | 2 | import { expect } from 'vitest' |
3 | 3 | import App from '../transition-group/App.vue' |
4 | 4 | import '../../../packages/vue/__tests__/e2e/style.css' |
@@ -339,48 +339,59 @@ describe('vapor transition-group', () => { |
339 | 339 | const btnSelector = '.dynamic-slot-with-v-if > button.toggle' |
340 | 340 | const addBtnSelector = '.dynamic-slot-with-v-if > button.add' |
341 | 341 | 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-->`) |
343 | 343 |
|
344 | | - expect( |
345 | | - (await transitionStart(btnSelector, containerSelector)).innerHTML, |
346 | | - ).toBe( |
| 344 | + click(btnSelector) |
| 345 | + await nextTick() |
| 346 | + await nextFrame() |
| 347 | + expect(html(containerSelector)).toBe( |
347 | 348 | `<ul>` + |
348 | 349 | `<li class="test v-enter-from v-enter-active">0</li>` + |
349 | 350 | `<li class="test v-enter-from v-enter-active">1</li>` + |
350 | | - `</ul>`, |
| 351 | + `<!--for--></ul><!--transition-group-->`, |
351 | 352 | ) |
352 | 353 |
|
353 | | - await waitForInnerHTML( |
354 | | - containerSelector, |
| 354 | + await nextFrame() |
| 355 | + expect(html(containerSelector)).toBe( |
355 | 356 | `<ul>` + |
356 | 357 | `<li class="test v-enter-active v-enter-to">0</li>` + |
357 | 358 | `<li class="test v-enter-active v-enter-to">1</li>` + |
358 | | - `</ul>`, |
| 359 | + `<!--for--></ul><!--transition-group-->`, |
359 | 360 | ) |
360 | 361 |
|
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-->`, |
364 | 365 | ) |
365 | 366 |
|
366 | 367 | // 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( |
370 | 372 | `<ul>` + |
371 | 373 | `<li class="test">0</li>` + |
372 | 374 | `<li class="test">1</li>` + |
373 | 375 | `<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-->`, |
375 | 386 | ) |
376 | 387 |
|
377 | | - await waitForInnerHTML( |
378 | | - containerSelector, |
| 388 | + await transitionFinish(100) |
| 389 | + expect(html(containerSelector)).toBe( |
379 | 390 | `<ul>` + |
380 | 391 | `<li class="test">0</li>` + |
381 | 392 | `<li class="test">1</li>` + |
382 | 393 | `<li class="test">2</li>` + |
383 | | - `</ul>`, |
| 394 | + `<!--for--></ul><!--transition-group-->`, |
384 | 395 | ) |
385 | 396 | }, |
386 | 397 | E2E_TIMEOUT, |
|
0 commit comments