|
|
@@ -48,6 +48,31 @@ describe('ssr: attrs fallthrough', () => {
|
|
|
`)
|
|
|
})
|
|
|
|
|
|
+ //#8072
|
|
|
+ test(`fallthrough component content (with whitespace: 'preserve')`, () => {
|
|
|
+ expect(
|
|
|
+ compile(
|
|
|
+ `
|
|
|
+ <a v-if="to">Foo</a>
|
|
|
+ <a v-else>Bar</a>
|
|
|
+ `,
|
|
|
+ {
|
|
|
+ whitespace: 'preserve',
|
|
|
+ },
|
|
|
+ ).code,
|
|
|
+ ).toMatchInlineSnapshot(`
|
|
|
+ "const { ssrRenderAttrs: _ssrRenderAttrs } = require("vue/server-renderer")
|
|
|
+
|
|
|
+ return function ssrRender(_ctx, _push, _parent, _attrs) {
|
|
|
+ if (_ctx.to) {
|
|
|
+ _push(\`<a\${_ssrRenderAttrs(_attrs)}>Foo</a>\`)
|
|
|
+ } else {
|
|
|
+ _push(\`<a\${_ssrRenderAttrs(_attrs)}>Bar</a>\`)
|
|
|
+ }
|
|
|
+ }"
|
|
|
+ `)
|
|
|
+ })
|
|
|
+
|
|
|
test('should not inject to fallthrough component content if not root', () => {
|
|
|
expect(compile(`<div/><transition><div/></transition>`).code)
|
|
|
.toMatchInlineSnapshot(`
|