@@ -416,8 +416,6 @@ describe('form-input', () => {
416
416
expect(wrapper.emitted('input').length).toEqual(1)
417
417
expect(wrapper.emitted('input')[0][0]).toEqual('test')
418
418
419
-
expect(input.vm.localValue).toEqual('test')
420
-
421
419
wrapper.destroy()
422
420
})
423
421
@@ -593,7 +591,7 @@ describe('form-input', () => {
593
591
input.element.focus()
594
592
input.trigger('wheel', { deltaY: 33.33, deltaX: 0, deltaZ: 0, deltaMode: 0 })
595
593
596
-
// no-wheel=true will fire a blur event on the input when wheel fired
594
+
// `:no-wheel="true"` will fire a blur event on the input when wheel fired
597
595
expect(spy).toHaveBeenCalled()
598
596
599
597
wrapper.destroy()
@@ -620,7 +618,7 @@ describe('form-input', () => {
620
618
input.element.focus()
621
619
input.trigger('wheel', { deltaY: 33.33, deltaX: 0, deltaZ: 0, deltaMode: 0 })
622
620
623
-
// no-wheel=false will not fire a blur event on the input when wheel fired
621
+
// `:no-wheel="false"` will not fire a blur event on the input when wheel fired
624
622
expect(spy).not.toHaveBeenCalled()
625
623
626
624
wrapper.destroy()
@@ -677,16 +675,16 @@ describe('form-input', () => {
677
675
await waitNT(wrapper.vm)
678
676
679
677
expect(input.element.value).toBe('123.450')
680
-
// Pre converted value as string
681
-
expect(wrapper.emitted('input')).toBeDefined()
682
-
expect(wrapper.emitted('input').length).toBe(1)
683
-
expect(wrapper.emitted('input')[0].length).toEqual(1)
684
-
expect(wrapper.emitted('input')[0][0]).toEqual('123.450')
685
-
// v-model update event (should emit a numerical value)
678
+
// `v-model` update event (should emit a numerical value)
686
679
expect(wrapper.emitted('update')).toBeDefined()
687
680
expect(wrapper.emitted('update').length).toBe(1)
688
681
expect(wrapper.emitted('update')[0].length).toEqual(1)
689
682
expect(wrapper.emitted('update')[0][0]).toBeCloseTo(123.45)
683
+
// Pre converted value as string (raw input value)
684
+
expect(wrapper.emitted('input')).toBeDefined()
685
+
expect(wrapper.emitted('input').length).toBe(1)
686
+
expect(wrapper.emitted('input')[0].length).toEqual(1)
687
+
expect(wrapper.emitted('input')[0][0]).toEqual('123.450')
690
688
691
689
// Update the input to be different string-wise, but same numerically
692
690
input.element.value = '123.4500'
@@ -697,11 +695,11 @@ describe('form-input', () => {
697
695
// Should emit a new input event
698
696
expect(wrapper.emitted('input').length).toEqual(2)
699
697
expect(wrapper.emitted('input')[1][0]).toEqual('123.4500')
700
-
// Should emit a new update event
701
-
expect(wrapper.emitted('update').length).toBe(2)
698
+
// `v-model` value stays the same and update event shouldn't be emitted again
699
+
expect(wrapper.emitted('update').length).toBe(1)
702
700
expect(wrapper.emitted('update')[0][0]).toBeCloseTo(123.45)
703
701
704
-
// Updating the v-model to new numeric value
702
+
// Updating the `v-model` to new numeric value
705
703
wrapper.setProps({
706
704
value: 45.6
707
705
})
@@ -711,6 +709,63 @@ describe('form-input', () => {
711
709
wrapper.destroy()
712
710
})
713
711
712
+
it('"lazy" modifier prop works', async () => {
713
+
const wrapper = mount(BFormInput, {
714
+
propsData: {
715
+
type: 'text',
716
+
lazy: true
717
+
}
718
+
})
719
+
720
+
const input = wrapper.find('input')
721
+
input.element.value = 'a'
722
+
input.trigger('input')
723
+
await waitNT(wrapper.vm)
724
+
expect(input.element.value).toBe('a')
725
+
// `v-model` update event should not have emitted
726
+
expect(wrapper.emitted('update')).not.toBeDefined()
727
+
728
+
input.element.value = 'ab'
729
+
input.trigger('input')
730
+
await waitNT(wrapper.vm)
731
+
expect(input.element.value).toBe('ab')
732
+
// `v-model` update event should not have emitted
733
+
expect(wrapper.emitted('update')).not.toBeDefined()
734
+
735
+
// trigger a change event
736
+
input.trigger('change')
737
+
await waitNT(wrapper.vm)
738
+
expect(input.element.value).toBe('ab')
739
+
// `v-model` update event should have emitted
740
+
expect(wrapper.emitted('update')).toBeDefined()
741
+
expect(wrapper.emitted('update').length).toEqual(1)
742
+
expect(wrapper.emitted('update')[0][0]).toBe('ab')
743
+
744
+
input.element.value = 'abc'
745
+
input.trigger('input')
746
+
await waitNT(wrapper.vm)
747
+
expect(input.element.value).toBe('abc')
748
+
// `v-model` update event should not have emitted new event
749
+
expect(wrapper.emitted('update').length).toEqual(1)
750
+
751
+
input.element.value = 'abcd'
752
+
input.trigger('input')
753
+
await waitNT(wrapper.vm)
754
+
expect(input.element.value).toBe('abcd')
755
+
// `v-model` update event should not have emitted new event
756
+
expect(wrapper.emitted('update').length).toEqual(1)
757
+
758
+
// Trigger a blur event
759
+
input.trigger('blur')
760
+
await waitNT(wrapper.vm)
761
+
expect(input.element.value).toBe('abcd')
762
+
// `v-model` update event should have emitted
763
+
expect(wrapper.emitted('update').length).toEqual(2)
764
+
expect(wrapper.emitted('update')[1][0]).toBe('abcd')
765
+
766
+
wrapper.destroy()
767
+
})
768
+
714
769
it('focus() and blur() methods work', async () => {
715
770
const wrapper = mount(BFormInput, {
716
771
mountToDocument: true
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4