|
@@ -3,7 +3,7 @@ import Select from 'packages/select';
|
|
|
|
|
|
describe('Select', () => {
|
|
|
const getSelectVm = (configs = {}, options) => {
|
|
|
- ['multiple', 'clearable', 'filterable', 'allowCreate', 'remote', 'collapseTags'].forEach(config => {
|
|
|
+ ['multiple', 'clearable', 'filterable', 'allowCreate', 'remote', 'collapseTags', 'automaticDropdown'].forEach(config => {
|
|
|
configs[config] = configs[config] || false;
|
|
|
});
|
|
|
configs.multipleLimit = configs.multipleLimit || 0;
|
|
@@ -46,7 +46,8 @@ describe('Select', () => {
|
|
|
:filterMethod="filterMethod"
|
|
|
:remote="remote"
|
|
|
:loading="loading"
|
|
|
- :remoteMethod="remoteMethod">
|
|
|
+ :remoteMethod="remoteMethod"
|
|
|
+ :automatic-dropdown="automaticDropdown">
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
|
:label="item.label"
|
|
@@ -68,6 +69,7 @@ describe('Select', () => {
|
|
|
collapseTags: configs.collapseTags,
|
|
|
allowCreate: configs.allowCreate,
|
|
|
popperClass: configs.popperClass,
|
|
|
+ automaticDropdown: configs.automaticDropdown,
|
|
|
loading: false,
|
|
|
filterMethod: configs.filterMethod && configs.filterMethod(this),
|
|
|
remote: configs.remote,
|
|
@@ -668,7 +670,7 @@ describe('Select', () => {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
- it('soft focus', done => {
|
|
|
+ it('should return focus to input inside select after option select', done => {
|
|
|
vm = createVue({
|
|
|
template: `
|
|
|
<div>
|
|
@@ -701,6 +703,28 @@ describe('Select', () => {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
+ it('should not open popper when automatic-dropdown not set', done => {
|
|
|
+ vm = getSelectVm();
|
|
|
+
|
|
|
+ vm.$refs.select.$refs.reference.$refs.input.focus();
|
|
|
+
|
|
|
+ vm.$nextTick(_ => {
|
|
|
+ expect(vm.$refs.select.visible).to.be.false;
|
|
|
+ done();
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ it('should open popper when automatic-dropdown is set', done => {
|
|
|
+ vm = getSelectVm({ automaticDropdown: true });
|
|
|
+
|
|
|
+ vm.$refs.select.$refs.reference.$refs.input.focus();
|
|
|
+
|
|
|
+ vm.$nextTick(_ => {
|
|
|
+ expect(vm.$refs.select.visible).to.be.true;
|
|
|
+ done();
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
it('focus', done => {
|
|
|
vm = createVue({
|
|
|
template: `
|