From efa321486650bc573a3e4442c5986bb861f1cacf Mon Sep 17 00:00:00 2001 From: underfin <2218301630@qq.com> Date: Mon, 18 May 2020 22:14:09 +0800 Subject: [PATCH] test(runtime-core): add test for `renderSlot` (#1160) --- .../__tests__/helpers/renderSlot.spec.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 packages/runtime-core/__tests__/helpers/renderSlot.spec.ts 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 000000000..3f5e321ec --- /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() + }) +})