From 8de0372ab446652718daa38d28dc2536a8b4426c Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Tue, 22 Jun 2021 18:31:36 +0200 Subject: [PATCH] fix(suspense): display current branch if no fallback is provided Fix #3986 --- .../__tests__/components/Suspense.spec.ts | 88 ++++++++++++++++++- .../runtime-core/src/components/Suspense.ts | 4 +- 2 files changed, 90 insertions(+), 2 deletions(-) diff --git a/packages/runtime-core/__tests__/components/Suspense.spec.ts b/packages/runtime-core/__tests__/components/Suspense.spec.ts index 421bc0a8e9..c6d7be849f 100644 --- a/packages/runtime-core/__tests__/components/Suspense.spec.ts +++ b/packages/runtime-core/__tests__/components/Suspense.spec.ts @@ -69,6 +69,32 @@ describe('Suspense', () => { expect(serializeInner(root)).toBe(`
async
`) }) + test('fallback content', async () => { + const Async = defineAsyncComponent({ + render() { + return h('div', 'async') + } + }) + + const Comp = { + setup() { + return () => + h(Suspense, null, { + default: h(Async), + fallback: h('div', 'fallback') + }) + } + } + + const root = nodeOps.createElement('div') + render(h(Comp), root) + expect(serializeInner(root)).toBe(`
fallback
`) + + await Promise.all(deps) + await nextTick() + expect(serializeInner(root)).toBe(`
async
`) + }) + test('emits events', async () => { const Async = defineAsyncComponent({ render() { @@ -709,7 +735,7 @@ describe('Suspense', () => {
{{ errorMessage }}
- +