]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
test: fix resolveAssets test + test resolveDynamicComponent in slots
authorEvan You <yyx990803@gmail.com>
Mon, 16 Mar 2020 17:17:57 +0000 (13:17 -0400)
committerEvan You <yyx990803@gmail.com>
Mon, 16 Mar 2020 17:17:57 +0000 (13:17 -0400)
packages/runtime-core/__tests__/helpers/resolveAssets.spec.ts

index 779814b793001bdc9a22f8b228269b5f863ffb80..6cac9b248acfc5719c259a26c0dd708cc5687ac3 100644 (file)
@@ -6,7 +6,7 @@ import {
   Component,
   Directive,
   resolveDynamicComponent,
-  getCurrentInstance
+  h
 } from '@vue/runtime-test'
 import { mockWarn } from '@vue/shared'
 
@@ -100,14 +100,23 @@ describe('resolveAssets', () => {
         baz: { render: () => 'baz' }
       }
       let foo, bar, baz // dynamic components
+
+      const Child = {
+        render(this: any) {
+          return this.$slots.default()
+        }
+      }
+
       const Root = {
         components: { foo: dynamicComponents.foo },
         setup() {
-          const instance = getCurrentInstance()!
           return () => {
-            foo = resolveDynamicComponent('foo', instance) // <component is="foo"/>
-            bar = resolveDynamicComponent(dynamicComponents.bar, instance) // <component :is="bar"/>, function
-            baz = resolveDynamicComponent(dynamicComponents.baz, instance) // <component :is="baz"/>, object
+            foo = resolveDynamicComponent('foo') // <component is="foo"/>
+            bar = resolveDynamicComponent(dynamicComponents.bar) // <component :is="bar"/>, function
+            return h(Child, () => {
+              // check inside child slots
+              baz = resolveDynamicComponent(dynamicComponents.baz) // <component :is="baz"/>, object
+            })
           }
         }
       }