mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
91 lines
2.1 KiB
JavaScript
91 lines
2.1 KiB
JavaScript
import Slider from 'packages/slider';
|
|
import { mount } from 'avoriaz';
|
|
import { triggerTouch } from '../utils';
|
|
|
|
describe('Slider', () => {
|
|
let wrapper;
|
|
|
|
afterEach(() => {
|
|
wrapper && wrapper.destroy();
|
|
});
|
|
|
|
it('create a simple slider', () => {
|
|
wrapper = mount(Slider, {
|
|
propsData: {
|
|
value: 50,
|
|
disabled: true
|
|
}
|
|
});
|
|
|
|
expect(wrapper.hasClass('van-slider')).to.be.true;
|
|
expect(wrapper.find('.van-slider__bar').length).to.equal(1);
|
|
expect(wrapper.vm.value).to.equal(50);
|
|
expect(wrapper.hasClass('van-slider--disabled')).to.equal(true);
|
|
|
|
wrapper.setProps({
|
|
value: 100
|
|
});
|
|
wrapper.update();
|
|
|
|
expect(wrapper.vm.value).to.equal(100);
|
|
});
|
|
|
|
it('test click bar', () => {
|
|
wrapper = mount(Slider, {
|
|
propsData: {
|
|
disabled: true,
|
|
value: 50
|
|
}
|
|
});
|
|
|
|
const eventStub = sinon.stub(wrapper.vm, '$emit');
|
|
const $bar = wrapper.find('.van-slider')[0];
|
|
$bar.trigger('click');
|
|
const button = wrapper.find('.van-slider__button')[0];
|
|
triggerTouch(button, 'touchstart', 0, 0);
|
|
expect(wrapper.vm.startX).to.equal(undefined);
|
|
|
|
triggerTouch(button, 'touchmove', 50, 0);
|
|
expect(wrapper.vm.offsetX).to.equal(undefined);
|
|
|
|
triggerTouch(button, 'touchend', 50, 0);
|
|
expect(wrapper.vm.offsetX).to.equal(undefined);
|
|
|
|
expect(eventStub.called).to.equal(false);
|
|
|
|
wrapper.setData({
|
|
disabled: false
|
|
});
|
|
wrapper.update();
|
|
$bar.trigger('click');
|
|
|
|
expect(wrapper.vm.disabled).to.equal(false);
|
|
expect(eventStub.called).to.equal(true);
|
|
});
|
|
|
|
it('drag button', () => {
|
|
wrapper = mount(Slider, {
|
|
propsData: {
|
|
value: 50
|
|
}
|
|
});
|
|
|
|
const button = wrapper.find('.van-slider__button')[0];
|
|
triggerTouch(button, 'touchstart', 0, 0);
|
|
expect(wrapper.vm.startX).to.equal(0);
|
|
|
|
triggerTouch(button, 'touchmove', 50, 0);
|
|
expect(wrapper.vm.offsetX).to.equal(50);
|
|
|
|
triggerTouch(button, 'touchend', 50, 0);
|
|
expect(wrapper.vm.offsetX).to.equal(50);
|
|
|
|
wrapper.setData({
|
|
disabled: true
|
|
});
|
|
|
|
triggerTouch(button, 'touchstart', 0, 0);
|
|
expect(wrapper.vm.startX).to.equal(0);
|
|
});
|
|
});
|