|
|
@@ -111,26 +111,106 @@ describe('ssr: slot', () => {
|
|
|
})
|
|
|
|
|
|
test('transition slot', async () => {
|
|
|
+ const ReusableTransition = {
|
|
|
+ template: `<transition><slot/></transition>`,
|
|
|
+ }
|
|
|
+
|
|
|
+ const ReusableTransitionWithAppear = {
|
|
|
+ template: `<transition appear><slot/></transition>`,
|
|
|
+ }
|
|
|
+
|
|
|
expect(
|
|
|
await renderToString(
|
|
|
createApp({
|
|
|
components: {
|
|
|
- one: {
|
|
|
- template: `<transition><slot/></transition>`,
|
|
|
- },
|
|
|
+ one: ReusableTransition,
|
|
|
},
|
|
|
template: `<one><div v-if="false">foo</div></one>`,
|
|
|
}),
|
|
|
),
|
|
|
).toBe(`<!---->`)
|
|
|
|
|
|
+ expect(await renderToString(createApp(ReusableTransition))).toBe(`<!---->`)
|
|
|
+
|
|
|
+ expect(await renderToString(createApp(ReusableTransitionWithAppear))).toBe(
|
|
|
+ `<template><!----></template>`,
|
|
|
+ )
|
|
|
+
|
|
|
expect(
|
|
|
await renderToString(
|
|
|
createApp({
|
|
|
components: {
|
|
|
- one: {
|
|
|
- template: `<transition><slot/></transition>`,
|
|
|
- },
|
|
|
+ one: ReusableTransition,
|
|
|
+ },
|
|
|
+ template: `<one><slot/></one>`,
|
|
|
+ }),
|
|
|
+ ),
|
|
|
+ ).toBe(`<!---->`)
|
|
|
+
|
|
|
+ expect(
|
|
|
+ await renderToString(
|
|
|
+ createApp({
|
|
|
+ components: {
|
|
|
+ one: ReusableTransitionWithAppear,
|
|
|
+ },
|
|
|
+ template: `<one><slot/></one>`,
|
|
|
+ }),
|
|
|
+ ),
|
|
|
+ ).toBe(`<template><!----></template>`)
|
|
|
+
|
|
|
+ expect(
|
|
|
+ await renderToString(
|
|
|
+ createApp({
|
|
|
+ render() {
|
|
|
+ return h(ReusableTransition, null, {
|
|
|
+ default: () => null,
|
|
|
+ })
|
|
|
+ },
|
|
|
+ }),
|
|
|
+ ),
|
|
|
+ ).toBe(`<!---->`)
|
|
|
+
|
|
|
+ expect(
|
|
|
+ await renderToString(
|
|
|
+ createApp({
|
|
|
+ render() {
|
|
|
+ return h(ReusableTransitionWithAppear, null, {
|
|
|
+ default: () => null,
|
|
|
+ })
|
|
|
+ },
|
|
|
+ }),
|
|
|
+ ),
|
|
|
+ ).toBe(`<template><!----></template>`)
|
|
|
+
|
|
|
+ expect(
|
|
|
+ await renderToString(
|
|
|
+ createApp({
|
|
|
+ render() {
|
|
|
+ return h(ReusableTransitionWithAppear, null, {
|
|
|
+ default: () => [],
|
|
|
+ })
|
|
|
+ },
|
|
|
+ }),
|
|
|
+ ),
|
|
|
+ ).toBe(`<template><!----></template>`)
|
|
|
+
|
|
|
+ expect(
|
|
|
+ await renderToString(
|
|
|
+ createApp({
|
|
|
+ render() {
|
|
|
+ return h(ReusableTransition, null, {
|
|
|
+ default: () => [],
|
|
|
+ })
|
|
|
+ },
|
|
|
+ }),
|
|
|
+ ),
|
|
|
+ ).toBe(`<!---->`)
|
|
|
+
|
|
|
+ expect(
|
|
|
+ await renderToString(
|
|
|
+ createApp({
|
|
|
+ components: {
|
|
|
+ one: ReusableTransition,
|
|
|
},
|
|
|
template: `<one><div v-if="true">foo</div></one>`,
|
|
|
}),
|