From 0f608666a364444ea005feacc2f5ecd5e999f828 Mon Sep 17 00:00:00 2001 From: "cinwell.li" Date: Mon, 17 Oct 2016 21:26:37 +0800 Subject: [PATCH] TimeSelect: add testcase of setting default value (#454) --- examples/docs/zh-cn/time-picker.md | 2 +- package.json | 1 + .../date-picker/src/panel/time-select.vue | 4 +- test/unit/specs/time-select.spec.js | 37 +++++++++++++++---- 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/examples/docs/zh-cn/time-picker.md b/examples/docs/zh-cn/time-picker.md index bab51cf1b..ed84bf748 100644 --- a/examples/docs/zh-cn/time-picker.md +++ b/examples/docs/zh-cn/time-picker.md @@ -127,7 +127,7 @@ export default { data() { return { - value1: '', + value1: '14:30', value2: new Date(2016, 9, 10, 18, 40), value3: [new Date(2016, 9, 10, 8, 40), new Date(2016, 9, 10, 9, 40)], startTime: '', diff --git a/package.json b/package.json index 556a26b17..e071d8d1f 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "vue", "components" ], + "license": "MIT", "bugs": { "url": "https://github.com/elemefe/element/issues" }, diff --git a/packages/date-picker/src/panel/time-select.vue b/packages/date-picker/src/panel/time-select.vue index 402fd96dd..56654fb02 100644 --- a/packages/date-picker/src/panel/time-select.vue +++ b/packages/date-picker/src/panel/time-select.vue @@ -9,9 +9,7 @@ v-for="item in items" :class="{ selected: value === item.value, disabled: item.disabled }" :disabled="item.disabled" - @click="handleClick(item)"> - {{ item.value }} - + @click="handleClick(item)">{{ item.value }} diff --git a/test/unit/specs/time-select.spec.js b/test/unit/specs/time-select.spec.js index b63392942..7740d4aa5 100644 --- a/test/unit/specs/time-select.spec.js +++ b/test/unit/specs/time-select.spec.js @@ -12,9 +12,11 @@ describe('TimeSelect', () => { }, placeholder: 'test' }, true); - vm.$el.querySelector('input').blur(); - vm.$el.querySelector('input').focus(); - vm.$el.querySelector('input').blur(); + const input = vm.$el.querySelector('input'); + + input.blur(); + input.focus(); + input.blur(); Vue.nextTick(_ => { 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({ template: `
@@ -40,15 +42,16 @@ describe('TimeSelect', () => { }; } }, true); + const input = vm.$el.querySelector('input'); - vm.$el.querySelector('input').blur(); - vm.$el.querySelector('input').focus(); - vm.$el.querySelector('input').blur(); + input.blur(); + input.focus(); + input.blur(); Vue.nextTick(_ => { const items = vm.$refs.compo.picker.$el.querySelectorAll('.time-select-item'); const target = items[4]; - const time = target.textContent.trim(); + const time = target.textContent; target.click(); 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); + }); });