1
0
mirror of synced 2024-11-22 04:56:08 +03:00

Test for dropdownParent option

This commit is contained in:
Mikhail Titov 2018-09-24 20:54:34 -05:00 committed by Kevin Brown
parent 357c2a11c2
commit 01e68f4dd7
4 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,83 @@
module('Dropdown - attachBody - dropdownParent option');
test('can be a selector string', function (assert) {
assert.expect(1);
var $ = require('jquery');
var $select = $('<select></select>');
var $parent = $('<div id="parent"></div>');
$('#qunit-fixture').append($parent);
var Utils = require('select2/utils');
var Options = require('select2/options');
var Dropdown = require('select2/dropdown');
var AttachBody = require('select2/dropdown/attachBody');
var DropdownAdapter = Utils.Decorate(Dropdown, AttachBody);
var dropdown = new DropdownAdapter($select, new Options({
dropdownParent: '#parent'
}));
assert.equal(
dropdown.$dropdownParent[0],
$parent[0],
'Should be parsed using the selector as a jQuery object'
);
});
test('can be a jQuery object', function (assert) {
assert.expect(1);
var $ = require('jquery');
var $select = $('<select></select>');
var $parent = $('<div id="parent"></div>');
$('#qunit-fixture').append($parent);
var Utils = require('select2/utils');
var Options = require('select2/options');
var Dropdown = require('select2/dropdown');
var AttachBody = require('select2/dropdown/attachBody');
var DropdownAdapter = Utils.Decorate(Dropdown, AttachBody);
var dropdown = new DropdownAdapter($select, new Options({
dropdownParent: $parent
}));
assert.equal(
dropdown.$dropdownParent[0],
$parent[0],
'Should just take the passed in jQuery object'
);
});
test('defaults to the document body', function (assert) {
assert.expect(1);
var $ = require('jquery');
var $select = $('<select></select>');
var Utils = require('select2/utils');
var Options = require('select2/options');
var Dropdown = require('select2/dropdown');
var AttachBody = require('select2/dropdown/attachBody');
var DropdownAdapter = Utils.Decorate(Dropdown, AttachBody);
var dropdown = new DropdownAdapter($select, new Options({}));
assert.equal(
dropdown.$dropdownParent[0],
document.body,
'Should default to wrapping document.body'
);
});

View File

@ -70,6 +70,7 @@
<script src="data/minimumInputLength-tests.js" type="text/javascript"></script> <script src="data/minimumInputLength-tests.js" type="text/javascript"></script>
<script src="dropdown/dropdownCss-tests.js" type="text/javascript"></script> <script src="dropdown/dropdownCss-tests.js" type="text/javascript"></script>
<script src="dropdown/dropdownParent-tests.js" type="text/javascript"></script>
<script src="dropdown/positioning-tests.js" type="text/javascript"></script> <script src="dropdown/positioning-tests.js" type="text/javascript"></script>
<script src="dropdown/search-a11y-tests.js" type="text/javascript"></script> <script src="dropdown/search-a11y-tests.js" type="text/javascript"></script>
<script src="dropdown/selectOnClose-tests.js" type="text/javascript"></script> <script src="dropdown/selectOnClose-tests.js" type="text/javascript"></script>

View File

@ -70,6 +70,7 @@
<script src="data/minimumInputLength-tests.js" type="text/javascript"></script> <script src="data/minimumInputLength-tests.js" type="text/javascript"></script>
<script src="dropdown/dropdownCss-tests.js" type="text/javascript"></script> <script src="dropdown/dropdownCss-tests.js" type="text/javascript"></script>
<script src="dropdown/dropdownParent-tests.js" type="text/javascript"></script>
<script src="dropdown/positioning-tests.js" type="text/javascript"></script> <script src="dropdown/positioning-tests.js" type="text/javascript"></script>
<script src="dropdown/search-a11y-tests.js" type="text/javascript"></script> <script src="dropdown/search-a11y-tests.js" type="text/javascript"></script>
<script src="dropdown/selectOnClose-tests.js" type="text/javascript"></script> <script src="dropdown/selectOnClose-tests.js" type="text/javascript"></script>

View File

@ -70,6 +70,7 @@
<script src="data/minimumInputLength-tests.js" type="text/javascript"></script> <script src="data/minimumInputLength-tests.js" type="text/javascript"></script>
<script src="dropdown/dropdownCss-tests.js" type="text/javascript"></script> <script src="dropdown/dropdownCss-tests.js" type="text/javascript"></script>
<script src="dropdown/dropdownParent-tests.js" type="text/javascript"></script>
<script src="dropdown/positioning-tests.js" type="text/javascript"></script> <script src="dropdown/positioning-tests.js" type="text/javascript"></script>
<script src="dropdown/search-a11y-tests.js" type="text/javascript"></script> <script src="dropdown/search-a11y-tests.js" type="text/javascript"></script>
<script src="dropdown/selectOnClose-tests.js" type="text/javascript"></script> <script src="dropdown/selectOnClose-tests.js" type="text/javascript"></script>