From: underfin <2218301630@qq.com> Date: Mon, 18 May 2020 14:14:09 +0000 (+0800) Subject: test(runtime-core): add test for `renderSlot` (#1160) X-Git-Tag: v3.0.0-beta.14~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=efa321486650bc573a3e4442c5986bb861f1cacf;p=thirdparty%2Fvuejs%2Fcore.git test(runtime-core): add test for `renderSlot` (#1160) --- diff --git a/packages/runtime-core/__tests__/helpers/renderSlot.spec.ts b/packages/runtime-core/__tests__/helpers/renderSlot.spec.ts new file mode 100644 index 0000000000..3f5e321ec8 --- /dev/null +++ b/packages/runtime-core/__tests__/helpers/renderSlot.spec.ts @@ -0,0 +1,25 @@ +import { renderSlot } from '../../src/helpers/renderSlot' +import { h } from '../../src/h' +import { mockWarn } from '@vue/shared' + +describe('renderSlot', () => { + mockWarn() + it('should render slot', () => { + let child + const vnode = renderSlot( + { default: () => [(child = h('child'))] }, + 'default' + ) + expect(vnode.children).toEqual([child]) + }) + + it('should render slot fallback', () => { + const vnode = renderSlot({}, 'default', {}, () => ['fallback']) + expect(vnode.children).toEqual(['fallback']) + }) + + it('should warn render ssr slot', () => { + renderSlot({ default: (a, b, c) => [h('child')] }, 'default') + expect('SSR-optimized slot function detected').toHaveBeenWarned() + }) +})