| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import Slider from '..';
- import { mount, triggerDrag, trigger } from '../../../test/utils';
- function mockGetBoundingClientRect(vertical) {
- Element.prototype.getBoundingClientRect = jest.fn(() => ({
- width: vertical ? 0 : 100,
- height: vertical ? 100 : 0,
- top: vertical ? 0 : 100,
- left: vertical ? 100 : 0
- }));
- }
- test('drag button', () => {
- mockGetBoundingClientRect();
- const wrapper = mount(Slider, {
- propsData: {
- value: 50,
- disabled: true
- }
- });
- wrapper.vm.$on('input', value => {
- wrapper.setProps({ value });
- });
- const button = wrapper.find('.van-slider__button');
- triggerDrag(button, 50, 0);
- expect(wrapper).toMatchSnapshot();
- wrapper.setData({ disabled: false });
- triggerDrag(button, 50, 0);
- expect(wrapper).toMatchSnapshot();
- });
- it('click bar', () => {
- mockGetBoundingClientRect();
- const wrapper = mount(Slider, {
- propsData: {
- value: 50,
- disabled: true
- }
- });
- wrapper.vm.$on('input', value => {
- wrapper.setProps({ value });
- });
- trigger(wrapper, 'click', 100, 0);
- expect(wrapper).toMatchSnapshot();
- wrapper.setData({ disabled: false });
- trigger(wrapper, 'click', 100, 0);
- expect(wrapper).toMatchSnapshot();
- });
- test('drag button vertical', () => {
- mockGetBoundingClientRect(true);
- const wrapper = mount(Slider, {
- propsData: {
- value: 50,
- vertical: true
- }
- });
- wrapper.vm.$on('input', value => {
- wrapper.setProps({ value });
- });
- const button = wrapper.find('.van-slider__button');
- triggerDrag(button, 0, 50);
- expect(wrapper).toMatchSnapshot();
- });
- it('click vertical', () => {
- mockGetBoundingClientRect(true);
- const wrapper = mount(Slider, {
- propsData: {
- value: 50,
- vertical: true
- }
- });
- wrapper.vm.$on('input', value => {
- wrapper.setProps({ value });
- });
- trigger(wrapper, 'click', 0, 100);
- expect(wrapper).toMatchSnapshot();
- });
|