![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ts.corals.io/frontend/node_modules/bootstrap-vue/src/mixins/ |
import { mount } from '@vue/test-utils' import { waitNT } from '../../tests/utils' import { focusInMixin } from './focus-in' describe('mixins/focus-in', () => { it('works', async () => { let count = 0 const App = { mixins: [focusInMixin], // listenForFocusIn comes from the mixin created() { this.listenForFocusIn = true }, methods: { focusInHandler() { count++ } }, render(h) { return h('div', [h('button', 'button')]) } } const wrapper = mount(App, { attachTo: document.body }) const focusinEvent = new FocusEvent('focusin') expect(wrapper).toBeDefined() expect(count).toBe(0) expect(wrapper.vm.listenForFocusIn).toBe(true) // When this.listenForFocusIn is true expect(count).toBe(0) await wrapper.find('button').trigger('focusin') expect(count).toBe(1) document.dispatchEvent(focusinEvent) await waitNT(wrapper.vm) expect(count).toBe(2) // When this.listenForFocusIn is false await wrapper.setData({ listenForFocusIn: false }) expect(count).toBe(2) await wrapper.find('button').trigger('focusin') expect(count).toBe(2) document.dispatchEvent(focusinEvent) await waitNT(wrapper.vm) expect(count).toBe(2) wrapper.destroy() }) })