diff --git a/packages/collapse-item/index.js b/packages/collapse-item/index.js index bb650378b..59bb02956 100644 --- a/packages/collapse-item/index.js +++ b/packages/collapse-item/index.js @@ -122,7 +122,7 @@ export default sfc({ }, {}); if (this.slots('value')) { - titleSlots.default = this.slots('value'); + titleSlots.default = () => this.slots('value'); } const Title = ( diff --git a/packages/collapse/test/__snapshots__/index.spec.js.snap b/packages/collapse/test/__snapshots__/index.spec.js.snap new file mode 100644 index 000000000..6c08939c5 --- /dev/null +++ b/packages/collapse/test/__snapshots__/index.spec.js.snap @@ -0,0 +1,11 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`render collapse-item slot 1`] = ` +
+
+
this is icon
this is title
+
this is value
this is right icon +
+
+
+`; diff --git a/packages/collapse/test/index.spec.js b/packages/collapse/test/index.spec.js index d4d8c8198..1f4a12a10 100644 --- a/packages/collapse/test/index.spec.js +++ b/packages/collapse/test/index.spec.js @@ -42,24 +42,50 @@ test('basic mode', async () => { wrapper.destroy(); }); -// it('accordion', async () => { -// const wrapper = mount(component, { -// propsData: { -// accordion: true -// } -// }); +it('accordion', async () => { + const wrapper = mount(component, { + propsData: { + accordion: true + } + }); -// const titles = wrapper.findAll('.van-collapse-item__title'); -// titles.at(0).trigger('click'); -// expect(wrapper.vm.active).toEqual('first'); + const titles = wrapper.findAll('.van-collapse-item__title'); + titles.at(0).trigger('click'); + expect(wrapper.vm.active).toEqual('first'); -// titles.at(1).trigger('click'); -// expect(wrapper.vm.active).toEqual(1); + titles.at(1).trigger('click'); + expect(wrapper.vm.active).toEqual(1); -// await later(); -// titles.at(0).trigger('click'); -// expect(wrapper.vm.active).toEqual('first'); + await later(); + titles.at(0).trigger('click'); + expect(wrapper.vm.active).toEqual('first'); -// titles.at(0).trigger('click'); -// expect(wrapper.vm.active).toEqual(''); -// }); + titles.at(0).trigger('click'); + expect(wrapper.vm.active).toEqual(''); +}); + +it('render collapse-item slot', () => { + const wrapper = mount({ + template: ` + + + + + + + + + `, + components: { + Collapse, + CollapseItem + }, + data() { + return { + active: [] + }; + } + }); + + expect(wrapper).toMatchSnapshot(); +});