mirror of
https://github.com/youzan/vant.git
synced 2025-10-15 23:55:08 +00:00
[new feature] add Collapse component (#674)
This commit is contained in:
21
test/components/collapse.vue
Normal file
21
test/components/collapse.vue
Normal file
@@ -0,0 +1,21 @@
|
||||
<template>
|
||||
<van-collapse v-model="active" :accordion="accordion">
|
||||
<van-collapse-item title="a" name="first">content</van-collapse-item>
|
||||
<van-collapse-item title="b">content</van-collapse-item>
|
||||
<van-collapse-item title="c">content</van-collapse-item>
|
||||
</van-collapse>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
accordion: Boolean
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
active: this.accordion ? '' : []
|
||||
};
|
||||
}
|
||||
};
|
||||
</script>
|
47
test/specs/collapse.spec.js
Normal file
47
test/specs/collapse.spec.js
Normal file
@@ -0,0 +1,47 @@
|
||||
import { mount } from 'avoriaz';
|
||||
import Collapse from '../components/collapse';
|
||||
|
||||
describe('Circle', () => {
|
||||
let wrapper;
|
||||
afterEach(() => {
|
||||
wrapper && wrapper.destroy();
|
||||
});
|
||||
|
||||
it('basic mode', () => {
|
||||
wrapper = mount(Collapse);
|
||||
|
||||
const firstTitle = wrapper.find('.van-collapse-item__title')[0];
|
||||
firstTitle.trigger('click');
|
||||
expect(wrapper.vm.active).to.eql(['first']);
|
||||
|
||||
const secondTitle = wrapper.find('.van-collapse-item__title')[1];
|
||||
secondTitle.trigger('click');
|
||||
expect(wrapper.vm.active).to.eql(['first', 1]);
|
||||
|
||||
firstTitle.trigger('click');
|
||||
expect(wrapper.vm.active).to.eql([1]);
|
||||
});
|
||||
|
||||
it('accordion', () => {
|
||||
wrapper = mount(Collapse, {
|
||||
propsData: {
|
||||
accordion: true
|
||||
}
|
||||
});
|
||||
|
||||
const firstTitle = wrapper.find('.van-collapse-item__title')[0];
|
||||
firstTitle.trigger('click');
|
||||
expect(wrapper.vm.active).to.eql('first');
|
||||
|
||||
const secondTitle = wrapper.find('.van-collapse-item__title')[1];
|
||||
secondTitle.trigger('click');
|
||||
expect(wrapper.vm.active).to.eql(1);
|
||||
|
||||
firstTitle.trigger('click');
|
||||
expect(wrapper.vm.active).to.eql('first');
|
||||
|
||||
firstTitle.trigger('click');
|
||||
expect(wrapper.vm.active).to.eql('');
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user