mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
Merge branch 'feature/unit_test'
This commit is contained in:
commit
d91834c186
@ -51,7 +51,7 @@ export default {
|
|||||||
window.addEventListener('scroll', () => {
|
window.addEventListener('scroll', () => {
|
||||||
clearTimeout(timer);
|
clearTimeout(timer);
|
||||||
const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
|
const scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
|
||||||
let timer = setTimeout(() => {
|
timer = setTimeout(() => {
|
||||||
_this.scrollTop = scrollTop;
|
_this.scrollTop = scrollTop;
|
||||||
}, 500);
|
}, 500);
|
||||||
});
|
});
|
||||||
|
@ -69,6 +69,7 @@
|
|||||||
"cp-cli": "^1.0.2",
|
"cp-cli": "^1.0.2",
|
||||||
"cross-env": "^3.1.3",
|
"cross-env": "^3.1.3",
|
||||||
"css-loader": "^0.24.0",
|
"css-loader": "^0.24.0",
|
||||||
|
"eslint-loader": "^1.7.1",
|
||||||
"extract-text-webpack-plugin": "^2.0.0-beta.5",
|
"extract-text-webpack-plugin": "^2.0.0-beta.5",
|
||||||
"felint": "^0.5.0-alpha.3",
|
"felint": "^0.5.0-alpha.3",
|
||||||
"file-loader": "^0.9.0",
|
"file-loader": "^0.9.0",
|
||||||
|
@ -40,14 +40,16 @@ describe('Field', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('input some value to filed', (done) => {
|
it('focus on input', (done) => {
|
||||||
wrapper = mount(Field, {
|
wrapper = mount(Field, {
|
||||||
propsData: {}
|
propsData: {
|
||||||
|
value: ''
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const eventStub = sinon.stub(wrapper.vm, '$emit');
|
const eventStub = sinon.stub(wrapper.vm, '$emit');
|
||||||
const input = wrapper.find('.zan-field__control')[0];
|
const input = wrapper.find('.zan-field__control')[0];
|
||||||
input.element.focus();
|
input.simulate('focus');
|
||||||
|
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
wrapper.vm.$nextTick(() => {
|
wrapper.vm.$nextTick(() => {
|
||||||
@ -56,6 +58,25 @@ describe('Field', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('input something to field', (done) => {
|
||||||
|
wrapper = mount(Field, {
|
||||||
|
propsData: {
|
||||||
|
value: ''
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const input = wrapper.find('.zan-field__control')[0];
|
||||||
|
|
||||||
|
input.element.value = 'test';
|
||||||
|
input.simulate('input');
|
||||||
|
|
||||||
|
wrapper.update();
|
||||||
|
wrapper.vm.$nextTick(() => {
|
||||||
|
expect(wrapper.data().currentValue).to.equal('test');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('create a textarea field', () => {
|
it('create a textarea field', () => {
|
||||||
wrapper = mount(Field, {
|
wrapper = mount(Field, {
|
||||||
propsData: {
|
propsData: {
|
||||||
@ -68,7 +89,7 @@ describe('Field', () => {
|
|||||||
expect(wrapper.hasClass('zan-field--hastextarea')).to.be.true;
|
expect(wrapper.hasClass('zan-field--hastextarea')).to.be.true;
|
||||||
});
|
});
|
||||||
|
|
||||||
it('create a autosize textarea field', () => {
|
it('create a autosize textarea field', (done) => {
|
||||||
wrapper = mount(Field, {
|
wrapper = mount(Field, {
|
||||||
propsData: {
|
propsData: {
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
@ -78,5 +99,20 @@ describe('Field', () => {
|
|||||||
|
|
||||||
expect(wrapper.hasClass('zan-field')).to.be.true;
|
expect(wrapper.hasClass('zan-field')).to.be.true;
|
||||||
expect(wrapper.hasClass('zan-field--autosize')).to.be.true;
|
expect(wrapper.hasClass('zan-field--autosize')).to.be.true;
|
||||||
|
|
||||||
|
const textarea = wrapper.find('.zan-field__control')[0];
|
||||||
|
const textareaElement = textarea.element;
|
||||||
|
const textAreaDiff = (parseInt(textareaElement.style.paddingBottom, 10) +
|
||||||
|
parseInt(textareaElement.style.paddingTop, 10)) || 0;
|
||||||
|
|
||||||
|
textareaElement.value = 'test';
|
||||||
|
textarea.simulate('input');
|
||||||
|
|
||||||
|
wrapper.update();
|
||||||
|
wrapper.vm.$nextTick(() => {
|
||||||
|
expect(wrapper.data().currentValue).to.equal('test');
|
||||||
|
expect(textareaElement.style.height).to.equal((textareaElement.scrollHeight - textAreaDiff) + 'px');
|
||||||
|
done();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -9,8 +9,108 @@ describe('Quantity', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('create a quantity', () => {
|
it('create a quantity', () => {
|
||||||
wrapper = mount(Quantity);
|
wrapper = mount(Quantity, {
|
||||||
|
propsData: {
|
||||||
|
defaultValue: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
expect(wrapper.hasClass('zan-quantity')).to.be.true;
|
expect(wrapper.hasClass('zan-quantity')).to.be.true;
|
||||||
|
expect(wrapper.data().currentValue).to.equal(1);
|
||||||
|
|
||||||
|
const plusButton = wrapper.find('.zan-quantity__plus')[0];
|
||||||
|
plusButton.simulate('click');
|
||||||
|
|
||||||
|
expect(wrapper.data().currentValue).to.equal(2);
|
||||||
|
|
||||||
|
const minusButton = wrapper.find('.zan-quantity__minus')[0];
|
||||||
|
minusButton.simulate('click');
|
||||||
|
expect(wrapper.data().currentValue).to.equal(1);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('create a disabled quantity', (done) => {
|
||||||
|
wrapper = mount(Quantity, {
|
||||||
|
propsData: {
|
||||||
|
disabled: true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(wrapper.hasClass('zan-quantity')).to.be.true;
|
||||||
|
const minusButton = wrapper.find('.zan-quantity__minus')[0];
|
||||||
|
expect(minusButton.hasClass('zan-quantity__minus--disabled')).to.be.true;
|
||||||
|
|
||||||
|
const eventStub = sinon.stub(wrapper.vm, '$emit');
|
||||||
|
minusButton.simulate('click');
|
||||||
|
|
||||||
|
wrapper.update();
|
||||||
|
wrapper.vm.$nextTick(() => {
|
||||||
|
expect(eventStub.calledWith('overlimit'));
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
const plusButton = wrapper.find('.zan-quantity__plus')[0];
|
||||||
|
expect(plusButton.hasClass('zan-quantity__plus--disabled')).to.be.true;
|
||||||
|
|
||||||
|
plusButton.simulate('click');
|
||||||
|
|
||||||
|
wrapper.update();
|
||||||
|
wrapper.vm.$nextTick(() => {
|
||||||
|
expect(eventStub.calledWith('overlimit'));
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('update quantity value use v-model', (done) => {
|
||||||
|
wrapper = mount(Quantity, {
|
||||||
|
propsData: {
|
||||||
|
value: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(wrapper.hasClass('zan-quantity')).to.be.true;
|
||||||
|
const eventStub = sinon.stub(wrapper.vm, '$emit');
|
||||||
|
|
||||||
|
wrapper.vm.value = 2;
|
||||||
|
wrapper.update();
|
||||||
|
wrapper.vm.$nextTick(() => {
|
||||||
|
expect(eventStub.calledWith('input'));
|
||||||
|
expect(eventStub.calledWith('change'));
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('correct value when value is not correct', (done) => {
|
||||||
|
wrapper = mount(Quantity, {
|
||||||
|
propsData: {
|
||||||
|
value: 50,
|
||||||
|
max: 30
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(wrapper.hasClass('zan-quantity')).to.be.true;
|
||||||
|
const eventStub = sinon.stub(wrapper.vm, '$emit');
|
||||||
|
wrapper.update();
|
||||||
|
wrapper.vm.$nextTick(() => {
|
||||||
|
expect(eventStub.calledWith('input'));
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('handle when input change', (done) => {
|
||||||
|
wrapper = mount(Quantity, {
|
||||||
|
propsData: {
|
||||||
|
value: 1
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const input = wrapper.find('.zan-quantity__input')[0];
|
||||||
|
input.element.value = 2;
|
||||||
|
input.simulate('input');
|
||||||
|
|
||||||
|
wrapper.update();
|
||||||
|
wrapper.vm.$nextTick(() => {
|
||||||
|
expect(wrapper.data().currentValue).to.equal(2);
|
||||||
|
done();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user