mirror of
https://github.com/tenrok/vue-select.git
synced 2026-05-17 02:29:37 +03:00
ceb42b4950
For a few reasons: - event.preventDefault() for the Enter key (to stop it from submitting the form when you select an item) is only effective if it's a keydown event. - Using keydown for up/down navigation means you can hold them down to rapidly scroll through a lot of items. - Keydown events make the UX feel more responsive, and is consistent with how most apps/operating systems handle key presses.
62 lines
1.4 KiB
JavaScript
Executable File
62 lines
1.4 KiB
JavaScript
Executable File
import { shallowMount } from "@vue/test-utils";
|
|
import VueSelect from "../src/components/Select.vue";
|
|
import Vue from 'vue';
|
|
|
|
/**
|
|
* Trigger a submit event on the search
|
|
* input with a provided search text.
|
|
*
|
|
* @param Wrapper {Wrapper<Vue>}
|
|
* @param searchText
|
|
*/
|
|
export const searchSubmit = (Wrapper, searchText = false) => {
|
|
if (searchText) {
|
|
Wrapper.vm.search = searchText;
|
|
}
|
|
Wrapper.find({ ref: "search" }).trigger("keydown.enter")
|
|
};
|
|
|
|
/**
|
|
* Create a new VueSelect instance with
|
|
* a provided set of props.
|
|
* @param propsData
|
|
* @returns {Wrapper<Vue>}
|
|
*/
|
|
export const selectWithProps = (propsData = {}) => {
|
|
return shallowMount(VueSelect, { propsData });
|
|
};
|
|
|
|
/**
|
|
* Returns a Wrapper with a v-select component.
|
|
* @param props
|
|
* @param options
|
|
* @return {Wrapper<Vue>}
|
|
*/
|
|
export const mountDefault = (props = {}, options = {}) => {
|
|
return shallowMount(VueSelect, {
|
|
propsData: {
|
|
options: ['one', 'two', 'three'],
|
|
...props,
|
|
},
|
|
...options,
|
|
});
|
|
};
|
|
|
|
|
|
/**
|
|
* Returns a v-select component directly.
|
|
* @param props
|
|
* @param options
|
|
* @return {Vue | Element | Vue[] | Element[]}
|
|
*/
|
|
export const mountWithoutTestUtils = (props = {}, options = {}) => {
|
|
return new Vue({
|
|
render: createEl => createEl('vue-select', {
|
|
ref: 'select',
|
|
props: {options: ['one', 'two', 'three'], ...props},
|
|
...options
|
|
}),
|
|
components: {VueSelect},
|
|
}).$mount().$refs.select;
|
|
};
|