@@ -317,6 +317,35 @@ describe('ssr: components', () => {
317317 ` )
318318 } )
319319
320+ // #13724
321+ test ( 'slot content with v-memo' , ( ) => {
322+ const { code } = compile ( `<foo><bar v-memo="[]" /></foo>` )
323+ expect ( code ) . not . toMatch ( `_cache` )
324+ expect ( compile ( `<foo><bar v-memo="[]" /></foo>` ) . code )
325+ . toMatchInlineSnapshot ( `
326+ "const { resolveComponent: _resolveComponent, withCtx: _withCtx, createVNode: _createVNode } = require("vue")
327+ const { ssrRenderComponent: _ssrRenderComponent } = require("vue/server-renderer")
328+
329+ return function ssrRender(_ctx, _push, _parent, _attrs) {
330+ const _component_foo = _resolveComponent("foo")
331+ const _component_bar = _resolveComponent("bar")
332+
333+ _push(_ssrRenderComponent(_component_foo, _attrs, {
334+ default: _withCtx((_, _push, _parent, _scopeId) => {
335+ if (_push) {
336+ _push(_ssrRenderComponent(_component_bar, null, null, _parent, _scopeId))
337+ } else {
338+ return [
339+ _createVNode(_component_bar)
340+ ]
341+ }
342+ }),
343+ _: 1 /* STABLE */
344+ }, _parent))
345+ }"
346+ ` )
347+ } )
348+
320349 describe ( 'built-in fallthroughs' , ( ) => {
321350 test ( 'transition' , ( ) => {
322351 expect ( compile ( `<transition><div/></transition>` ) . code )
0 commit comments