1
0
mirror of synced 2024-11-24 22:06:07 +03:00
select2/tests/data
Kevin Brown 1f3eceba5a
Fix generated options not receiving result IDs (#5586)
In order to enable the ability to uniquely identify a result by an ID
in the DOM, we generate a new ID for the result based on a combination
of things, including the container ID prefix that is generated and
used elsewhere in Select2. This has worked fairly well for use cases
including attaching Select2 to an existing `<select>` and loading in
options from a remote data set.

Unfortunately, because this process relied on the container ID being
used as a prefix, this failed for options which were automatically
generated on initialization using the `data:` option to Select2.
These were not being generated with an ID because at the time that
they were being generated, the data adapter was not aware of the
container it was being used in. This broke some accessibility features
because we had a mix of options in the results list with IDs, and
some without, so we fixed the ordering to make this work.

Option generation no longer happens when the data adapter is first
initialized, which is where it was previously happening, and instead
it now occurs when the data adapter is bound to the container. This
allows us to ensure that the data adapter is always aware of the
container it is being associated with, so now it will be able to
generate the result IDs.

This also fixes the tests for the array adapter as well as the
legacy `<input />` adapter so they properly bind to a container
during the test. This was causing test failures becuase the options
which would previously be generated during initialization were no
longer appearing.

Fixes #4350
2019-07-27 16:37:57 -04:00
..
array-tests.js Fix generated options not receiving result IDs (#5586) 2019-07-27 16:37:57 -04:00
base-tests.js Linted tests 2014-10-21 21:43:57 -04:00
inputData-tests.js Fix generated options not receiving result IDs (#5586) 2019-07-27 16:37:57 -04:00
maximumInputLength-tests.js Combine tests into common files 2015-02-13 23:29:56 -05:00
maximumSelectionLength-tests.js Fix maximumSelectionLength being ignored by closeOnSelect (#5581) 2019-07-21 15:44:37 -04:00
minimumInputLength-tests.js Added tests for tags 2014-11-25 21:28:16 -05:00
select-tests.js Test against jQuery 3.4.1 (#5531) 2019-06-25 22:05:15 -04:00
tags-tests.js Added tests for case insensitive tag matching 2016-12-29 18:29:04 -05:00
tokenizer-tests.js Migrate from expect to assert.expect 2016-05-23 23:38:45 -04:00