@@ -131,6 +131,14 @@ describe('Select.vue', () => {
131
131
} ) . $mount ( )
132
132
vm . $children [ 0 ] . select ( 'foo' )
133
133
expect ( vm . $children [ 0 ] . mutableValue . length ) . toEqual ( 1 )
134
+ } ) ,
135
+
136
+ it ( 'can deselect an option when multiple is false' , ( ) => {
137
+ const vm = new Vue ( {
138
+ template : `<div><v-select :value="'foo'"></v-select></div>` ,
139
+ } ) . $mount ( )
140
+ vm . $children [ 0 ] . deselect ( 'foo' )
141
+ expect ( vm . $children [ 0 ] . mutableValue ) . toEqual ( null )
134
142
} )
135
143
136
144
it ( 'can determine if the value prop is empty' , ( ) => {
@@ -232,7 +240,14 @@ describe('Select.vue', () => {
232
240
expect ( vm . value ) . toEqual ( 'bar' )
233
241
done ( )
234
242
} )
235
- } )
243
+ } ) ,
244
+
245
+ it ( 'can check if a string value is selected when the value is an object and multiple is true' , ( ) => {
246
+ const vm = new Vue ( {
247
+ template : `<div><v-select multiple :value="[{label: 'foo', value: 'bar'}]"></v-select></div>` ,
248
+ } ) . $mount ( )
249
+ expect ( vm . $children [ 0 ] . isOptionSelected ( 'foo' ) ) . toEqual ( true )
250
+ } ) ,
236
251
237
252
describe ( 'change Event' , ( ) => {
238
253
it ( 'will trigger the input event when the selection changes' , ( done ) => {
@@ -351,6 +366,31 @@ describe('Select.vue', () => {
351
366
expect ( vm . $children [ 0 ] . open ) . toEqual ( true )
352
367
} )
353
368
369
+ it ( 'will close the dropdown and emit the search:blur event from onSearchBlur' , ( ) => {
370
+ const vm = new Vue ( {
371
+ template : '<div><v-select></v-select></div>' ,
372
+ } ) . $mount ( )
373
+
374
+ spyOn ( vm . $children [ 0 ] , '$emit' )
375
+ vm . $children [ 0 ] . open = true
376
+ vm . $children [ 0 ] . onSearchBlur ( )
377
+
378
+ expect ( vm . $children [ 0 ] . open ) . toEqual ( false )
379
+ expect ( vm . $children [ 0 ] . $emit ) . toHaveBeenCalledWith ( 'search:blur' )
380
+ } )
381
+
382
+ it ( 'will open the dropdown and emit the search:focus event from onSearchFocus' , ( ) => {
383
+ const vm = new Vue ( {
384
+ template : '<div><v-select></v-select></div>' ,
385
+ } ) . $mount ( )
386
+
387
+ spyOn ( vm . $children [ 0 ] , '$emit' )
388
+ vm . $children [ 0 ] . onSearchFocus ( )
389
+
390
+ expect ( vm . $children [ 0 ] . open ) . toEqual ( true )
391
+ expect ( vm . $children [ 0 ] . $emit ) . toHaveBeenCalledWith ( 'search:focus' )
392
+ } )
393
+
354
394
it ( 'will close the dropdown on escape, if search is empty' , ( done ) => {
355
395
const vm = new Vue ( {
356
396
template : '<div><v-select></v-select></div>' ,
0 commit comments