diff --git a/packages/babel-plugin-jsx/test/__snapshots__/snapshot.test.ts.snap b/packages/babel-plugin-jsx/test/__snapshots__/snapshot.test.ts.snap
index fe97df9..982aed0 100644
--- a/packages/babel-plugin-jsx/test/__snapshots__/snapshot.test.ts.snap
+++ b/packages/babel-plugin-jsx/test/__snapshots__/snapshot.test.ts.snap
@@ -153,6 +153,17 @@ exports[`override props single > single 1`] = `
_createVNode("div", a, null);"
`;
+exports[`passing object slots via JSX children directive in slot > directive in slot 1`] = `
+"import { Fragment as _Fragment, resolveDirective as _resolveDirective, createVNode as _createVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent } from "vue";
+_createVNode(_Fragment, null, [_createVNode(_resolveComponent("A"), null, {
+ default: () => [_withDirectives(_createVNode("div", null, null, 512), [[_resolveDirective("xxx")]]), foo]
+}), _createVNode(_resolveComponent("A"), null, {
+ default: () => [_createVNode(_resolveComponent("B"), null, {
+ default: () => [_withDirectives(_createVNode("div", null, null, 512), [[_resolveDirective("xxx")]]), foo]
+ })]
+})]);"
+`;
+
exports[`passing object slots via JSX children multiple expressions > multiple expressions 1`] = `
"import { resolveComponent as _resolveComponent, createVNode as _createVNode } from "vue";
_createVNode(_resolveComponent("A"), null, {
@@ -161,6 +172,19 @@ _createVNode(_resolveComponent("A"), null, {
});"
`;
+exports[`passing object slots via JSX children no directive in slot > no directive in slot 1`] = `
+"import { Fragment as _Fragment, createVNode as _createVNode, resolveComponent as _resolveComponent } from "vue";
+_createVNode(_Fragment, null, [_createVNode(_resolveComponent("A"), null, {
+ default: () => [_createVNode("div", null, null), foo],
+ _: 1
+}), _createVNode(_resolveComponent("A"), null, {
+ default: () => [_createVNode(_resolveComponent("B"), null, {
+ default: () => [_createVNode("div", null, null), foo],
+ _: 1
+ })]
+})]);"
+`;
+
exports[`passing object slots via JSX children single expression, function expression > single expression, function expression 1`] = `
"import { resolveComponent as _resolveComponent, createVNode as _createVNode } from "vue";
_createVNode(_resolveComponent("A"), null, {
diff --git a/packages/babel-plugin-jsx/test/snapshot.test.ts b/packages/babel-plugin-jsx/test/snapshot.test.ts
index e1488fd..e1a2cff 100644
--- a/packages/babel-plugin-jsx/test/snapshot.test.ts
+++ b/packages/babel-plugin-jsx/test/snapshot.test.ts
@@ -255,6 +255,28 @@ const slotsTests: Test[] = [
{foo()};
`,
},
+ {
+ name: 'no directive in slot',
+ from: `
+ <>
+ {foo}
+
+ {foo}
+
+ >
+ `,
+ },
+ {
+ name: 'directive in slot',
+ from: `
+ <>
+ {foo}
+
+ {foo}
+
+ >
+ `,
+ },
];
slotsTests.forEach(({ name, from }) => {