TimeSelect: add testcase of setting default value (#454)

pull/465/head
cinwell.li 2016-10-17 21:26:37 +08:00 committed by GitHub
parent d70d346eb8
commit 0f608666a3
4 changed files with 32 additions and 12 deletions

View File

@ -127,7 +127,7 @@
export default { export default {
data() { data() {
return { return {
value1: '', value1: '14:30',
value2: new Date(2016, 9, 10, 18, 40), value2: new Date(2016, 9, 10, 18, 40),
value3: [new Date(2016, 9, 10, 8, 40), new Date(2016, 9, 10, 9, 40)], value3: [new Date(2016, 9, 10, 8, 40), new Date(2016, 9, 10, 9, 40)],
startTime: '', startTime: '',

View File

@ -33,6 +33,7 @@
"vue", "vue",
"components" "components"
], ],
"license": "MIT",
"bugs": { "bugs": {
"url": "https://github.com/elemefe/element/issues" "url": "https://github.com/elemefe/element/issues"
}, },

View File

@ -9,9 +9,7 @@
v-for="item in items" v-for="item in items"
:class="{ selected: value === item.value, disabled: item.disabled }" :class="{ selected: value === item.value, disabled: item.disabled }"
:disabled="item.disabled" :disabled="item.disabled"
@click="handleClick(item)"> @click="handleClick(item)">{{ item.value }}</div>
{{ item.value }}
</div>
</div> </div>
</div> </div>
</transition> </transition>

View File

@ -12,9 +12,11 @@ describe('TimeSelect', () => {
}, },
placeholder: 'test' placeholder: 'test'
}, true); }, true);
vm.$el.querySelector('input').blur(); const input = vm.$el.querySelector('input');
vm.$el.querySelector('input').focus();
vm.$el.querySelector('input').blur(); input.blur();
input.focus();
input.blur();
Vue.nextTick(_ => { Vue.nextTick(_ => {
expect(vm.picker.start).to.equal('08:30'); expect(vm.picker.start).to.equal('08:30');
@ -25,7 +27,7 @@ describe('TimeSelect', () => {
}); });
}); });
it('click time', done => { it('select time', done => {
const vm = createVue({ const vm = createVue({
template: ` template: `
<div> <div>
@ -40,15 +42,16 @@ describe('TimeSelect', () => {
}; };
} }
}, true); }, true);
const input = vm.$el.querySelector('input');
vm.$el.querySelector('input').blur(); input.blur();
vm.$el.querySelector('input').focus(); input.focus();
vm.$el.querySelector('input').blur(); input.blur();
Vue.nextTick(_ => { Vue.nextTick(_ => {
const items = vm.$refs.compo.picker.$el.querySelectorAll('.time-select-item'); const items = vm.$refs.compo.picker.$el.querySelectorAll('.time-select-item');
const target = items[4]; const target = items[4];
const time = target.textContent.trim(); const time = target.textContent;
target.click(); target.click();
Vue.nextTick(_ => { Vue.nextTick(_ => {
@ -57,4 +60,22 @@ describe('TimeSelect', () => {
}); });
}); });
}); });
it('set default value', done => {
const vm = createTest(TimeSelect, {
value: '14:30'
}, true);
const input = vm.$el.querySelector('input');
input.blur();
input.focus();
input.blur();
setTimeout(_ => {
expect(input.value).to.equal('14:30');
expect(vm.picker.$el.querySelector('.selected')).to.be.ok;
expect(vm.picker.$el.querySelector('.selected').textContent).to.equal('14:30');
done();
}, 500);
});
}); });