From: daiwei Date: Fri, 14 Mar 2025 03:44:04 +0000 (+0800) Subject: wip: add more tests X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bbe445214d340211227d0c0dfe000640a2951afe;p=thirdparty%2Fvuejs%2Fcore.git wip: add more tests --- diff --git a/packages-private/vapor-e2e-test/__tests__/transition.spec.ts b/packages-private/vapor-e2e-test/__tests__/transition.spec.ts index 41d9010476..891cf7791d 100644 --- a/packages-private/vapor-e2e-test/__tests__/transition.spec.ts +++ b/packages-private/vapor-e2e-test/__tests__/transition.spec.ts @@ -845,9 +845,60 @@ describe('vapor transition', () => { E2E_TIMEOUT, ) - test.todo( + test( 'transition + fallthrough attrs (in-out mode)', - async () => {}, + async () => { + const btnSelector = '.if-fallthrough-attr-in-out > button' + const containerSelector = '.if-fallthrough-attr-in-out > div' + + expect(await html(containerSelector)).toBe('
one
') + + // toggle + await click(btnSelector) + await nextTick() + await transitionFinish(duration * 3) + let calls = await page().evaluate(() => { + return (window as any).getCalls('ifInOut') + }) + expect(calls).toStrictEqual([ + 'beforeEnter', + 'onEnter', + 'afterEnter', + 'beforeLeave', + 'onLeave', + 'afterLeave', + ]) + + expect(await html(containerSelector)).toBe( + '
two
', + ) + + // clear calls + await page().evaluate(() => { + ;(window as any).resetCalls('ifInOut') + }) + + // toggle back + await click(btnSelector) + await nextTick() + await transitionFinish(duration * 3) + + calls = await page().evaluate(() => { + return (window as any).getCalls('ifInOut') + }) + expect(calls).toStrictEqual([ + 'beforeEnter', + 'onEnter', + 'afterEnter', + 'beforeLeave', + 'onLeave', + 'afterLeave', + ]) + + expect(await html(containerSelector)).toBe( + '
one
', + ) + }, E2E_TIMEOUT, ) }) diff --git a/packages-private/vapor-e2e-test/transition/App.vue b/packages-private/vapor-e2e-test/transition/App.vue index 7a01e07f23..1c73d7d8f9 100644 --- a/packages-private/vapor-e2e-test/transition/App.vue +++ b/packages-private/vapor-e2e-test/transition/App.vue @@ -21,6 +21,7 @@ let calls = { enterCancel: [], withAppear: [], cssFalse: [], + ifInOut: [], } window.getCalls = key => calls[key] window.resetCalls = key => (calls[key] = []) @@ -73,6 +74,16 @@ const view = shallowRef(One) function changeView() { view.value = view.value === One ? Two : One } + +const SimpleOne = defineVaporComponent({ + setup() { + return template('
one
', true)() + }, +}) +const viewInOut = shallowRef(SimpleOne) +function changeViewInOut() { + viewInOut.value = viewInOut.value === SimpleOne ? Two : SimpleOne +}