test('on component with default slot', () => {
expect(compile(`<Comp v-skip="ok">foo</Comp>`).code).toMatchInlineSnapshot(`
- "const { withCtx: _withCtx, resolveComponent: _resolveComponent } = require("vue")
+ "const { withCtx: _withCtx, resolveComponent: _resolveComponent, createTextVNode: _createTextVNode } = require("vue")
const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
default: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`foo\`)
+ } else {
+ return [
+ _createTextVNode("foo")
+ ]
}
}),
_: 1 /* STABLE */
</Comp>`,
).code,
).toMatchInlineSnapshot(`
- "const { withCtx: _withCtx, resolveComponent: _resolveComponent } = require("vue")
+ "const { withCtx: _withCtx, resolveComponent: _resolveComponent, createTextVNode: _createTextVNode } = require("vue")
const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
default: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`default\`)
+ } else {
+ return [
+ _createTextVNode("default")
+ ]
}
}),
foo: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`foo\`)
+ } else {
+ return [
+ _createTextVNode("foo")
+ ]
}
}),
_: 1 /* STABLE */
</Comp>`,
).code,
).toMatchInlineSnapshot(`
- "const { withCtx: _withCtx, resolveComponent: _resolveComponent } = require("vue")
+ "const { withCtx: _withCtx, resolveComponent: _resolveComponent, createTextVNode: _createTextVNode, createVNode: _createVNode } = require("vue")
const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
foo: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_push(\`foo\`)
+ } else {
+ return [
+ _createTextVNode("foo")
+ ]
}
}),
default: _withCtx((_, _push, _parent, _scopeId) => {
}></span><div\${
_scopeId
}></div>\`)
+ } else {
+ return [
+ _createVNode("span"),
+ _createVNode("div")
+ ]
}
}),
_: 1 /* STABLE */
</component>`,
).code,
).toMatchInlineSnapshot(`
- "const { withCtx: _withCtx, resolveDynamicComponent: _resolveDynamicComponent, createVNode: _createVNode } = require("vue")
+ "const { withCtx: _withCtx, resolveDynamicComponent: _resolveDynamicComponent, renderSlot: _renderSlot, createVNode: _createVNode } = require("vue")
const { ssrRenderSlot: _ssrRenderSlot, ssrRenderVNode: _ssrRenderVNode } = require("vue/server-renderer")
return function ssrRender(_ctx, _push, _parent, _attrs) {
default: _withCtx((_, _push, _parent, _scopeId) => {
if (_push) {
_ssrRenderSlot(_ctx.$slots, "default", {}, null, _push, _parent, _scopeId)
+ } else {
+ return [
+ _renderSlot(_ctx.$slots, "default")
+ ]
}
}),
_: 3 /* FORWARDED */