Skip to content

Commit ca2e782

Browse files
committed
add test
1 parent a47c692 commit ca2e782

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

Diff for: packages/babel-plugin-jsx/test/__snapshots__/snapshot.test.ts.snap

+25
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,17 @@ exports[`override props single > single 1`] = `
153153
_createVNode("div", a, null);"
154154
`;
155155
156+
exports[`passing object slots via JSX children directive in slot > directive in slot 1`] = `
157+
"import { Fragment as _Fragment, resolveDirective as _resolveDirective, createVNode as _createVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent } from "vue";
158+
_createVNode(_Fragment, null, [_createVNode(_resolveComponent("A"), null, {
159+
default: () => [_withDirectives(_createVNode("div", null, null, 512), [[_resolveDirective("xxx")]])]
160+
}), _createVNode(_resolveComponent("A"), null, {
161+
default: () => [_createVNode(_resolveComponent("B"), null, {
162+
default: () => [_withDirectives(_createVNode("div", null, null, 512), [[_resolveDirective("xxx")]])]
163+
})]
164+
})]);"
165+
`;
166+
156167
exports[`passing object slots via JSX children multiple expressions > multiple expressions 1`] = `
157168
"import { resolveComponent as _resolveComponent, createVNode as _createVNode } from "vue";
158169
_createVNode(_resolveComponent("A"), null, {
@@ -161,6 +172,20 @@ _createVNode(_resolveComponent("A"), null, {
161172
});"
162173
`;
163174
175+
exports[`passing object slots via JSX children no directive in slot > no directive in slot 1`] = `
176+
"import { Fragment as _Fragment, createVNode as _createVNode, resolveComponent as _resolveComponent } from "vue";
177+
_createVNode(_Fragment, null, [_createVNode(_resolveComponent("A"), null, {
178+
default: () => [_createVNode("div", null, null)],
179+
_: 1
180+
}), _createVNode(_resolveComponent("A"), null, {
181+
default: () => [_createVNode(_resolveComponent("B"), null, {
182+
default: () => [_createVNode("div", null, null)],
183+
_: 1
184+
})],
185+
_: 1
186+
})]);"
187+
`;
188+
164189
exports[`passing object slots via JSX children single expression, function expression > single expression, function expression 1`] = `
165190
"import { resolveComponent as _resolveComponent, createVNode as _createVNode } from "vue";
166191
_createVNode(_resolveComponent("A"), null, {

Diff for: packages/babel-plugin-jsx/test/snapshot.test.ts

+22
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,28 @@ const slotsTests: Test[] = [
255255
<A>{foo()}</A>;
256256
`,
257257
},
258+
{
259+
name: 'no directive in slot',
260+
from: `
261+
<>
262+
<A><div /></A>
263+
<A>
264+
<B><div /></B>
265+
</A>
266+
</>
267+
`,
268+
},
269+
{
270+
name: 'directive in slot',
271+
from: `
272+
<>
273+
<A><div v-xxx /></A>
274+
<A>
275+
<B><div v-xxx /></B>
276+
</A>
277+
</>
278+
`,
279+
},
258280
];
259281

260282
slotsTests.forEach(({ name, from }) => {

0 commit comments

Comments
 (0)