1
0
mirror of synced 2025-02-16 20:13:16 +03:00
select2/tests/selection/focusing-tests.js
Kevin Brown 1b5a962819
Revert change to focusing behaviour in 4.0.6 (#5576)
This behaviour, where the focus was happening on a small asynchronous
delay, was added in commit 933189b92 late last year in a commit with
no supporting tickets or commit message explaining what the change
was trying to accomplish. This commit has effectly been reverted within
this commit, since it caused a regression in how focus was being
assigned that made it inconsistent with a standard `<select>`.

A test was added for this which ensures that we won't see that
regression again.

Fixes #5532
Fixes #5185
Closes #5552
2019-07-20 22:44:28 -04:00

42 lines
949 B
JavaScript

module('Selection containers - Managing focus');
var SingleSelection = require('select2/selection/single');
var $ = require('jquery');
var Options = require('select2/options');
var options = new Options({});
test('close sets the focus to the selection', function (assert) {
var $container = $('#qunit-fixture .event-container');
var container = new MockContainer();
var selection = new SingleSelection(
$('#qunit-fixture .single'),
options
);
var $selection = selection.render();
selection.bind(container, $container);
selection.update([{
id: 'test',
text: 'test'
}]);
$container.append($selection);
assert.notEqual(
document.activeElement,
$selection[0],
'The selection had focus originally'
);
container.trigger('close');
assert.equal(
document.activeElement,
$selection[0],
'After close, focus must be set to selection'
);
});