diff --git a/test/unit/Select.spec.js b/test/unit/Select.spec.js
index 71385e8..f2b9ebf 100644
--- a/test/unit/Select.spec.js
+++ b/test/unit/Select.spec.js
@@ -3,6 +3,14 @@
import Vue from 'vue'
import vSelect from '../../src/components/Select.vue'
+function trigger (target, event, process) {
+ var e = document.createEvent('HTMLEvents')
+ e.initEvent(event, true, true)
+ if (process) process(e)
+ target.dispatchEvent(e)
+ return e
+}
+
describe('Select.vue', () => {
it('can accept an array with pre-selected values', () => {
@@ -204,6 +212,44 @@ describe('Select.vue', () => {
})
})
})
+
+ it('can adding option if tagable enabled and search is not empty', () => {
+ const vm = new Vue({
+ template: '
',
+ components: { vSelect },
+ data: {
+ value: ['one'],
+ options: ['one','two','three']
+ }
+ }).$mount()
+ vm.$children[0].search = 'four'
+
+ trigger(vm.$children[0].$els.search, 'keyup', function (e) {
+ e.keyCode = 13
+ })
+
+ expect(vm.$children[0].options[0]).toEqual('four')
+ })
+
+ it('should select added option if tagable enabled and search is not empty', (done) => {
+ const vm = new Vue({
+ template: '
',
+ components: { vSelect },
+ data: {
+ value: ['one'],
+ options: ['one','two','three']
+ }
+ }).$mount()
+ vm.$children[0].search = 'four'
+
+ trigger(vm.$children[0].$els.search, 'keyup', function (e) {
+ e.keyCode = 13
+ })
+ Vue.nextTick(() => {
+ expect(vm.$children[0].$get('value')).toEqual(['one', 'four'])
+ done()
+ })
+ })
})