]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
test: update test
authorEvan You <yyx990803@gmail.com>
Mon, 9 Sep 2019 21:28:35 +0000 (17:28 -0400)
committerEvan You <yyx990803@gmail.com>
Wed, 11 Sep 2019 15:10:13 +0000 (11:10 -0400)
packages/runtime-core/__tests__/rendererSuspense.spec.ts

index 6f7e2d2d6d82545c3b7afd734bf2a43639f17e29..a577c5e90dedb4fe0f458bffbc76d7c23351e33e 100644 (file)
@@ -23,6 +23,7 @@ describe('renderer: suspense', () => {
       }
     })
 
+    // TODO test mounted hook & watch callback buffering
     const AsyncChild = createAsyncComponent(
       () =>
         new Promise(resolve => {
@@ -36,6 +37,19 @@ describe('renderer: suspense', () => {
         })
     )
 
+    const AsyncChild2 = createAsyncComponent(
+      () =>
+        new Promise(resolve => {
+          setTimeout(() => {
+            resolve({
+              setup(props: { msg: string }) {
+                return () => h('div', props.msg)
+              }
+            })
+          }, 10)
+        })
+    )
+
     const Mid = {
       setup() {
         return () =>
@@ -49,7 +63,8 @@ describe('renderer: suspense', () => {
       name: 'root',
       setup() {
         // TODO test fallback
-        return () => h(Suspense, [msg.value, h(Mid)])
+        return () =>
+          h(Suspense, [msg.value, h(Mid), h(AsyncChild2, { msg: 'child 2' })])
       }
     }
 
@@ -59,6 +74,16 @@ describe('renderer: suspense', () => {
 
     await Promise.all(deps)
     await nextTick()
-    expect(serializeInner(root)).toBe(`<!---->hello<div>hello</div><!---->`)
+    expect(serializeInner(root)).toBe(
+      `<!---->hello<div>hello</div><div>child 2</div><!---->`
+    )
   })
+
+  test.todo('fallback content update')
+
+  test.todo('content update before suspense resolve')
+
+  test.todo('unmount before suspense resolve')
+
+  test.todo('nested suspense')
 })