HEX
Server: nginx/1.24.0
System: Linux webserver-one 6.8.0-101-generic #101-Ubuntu SMP PREEMPT_DYNAMIC Mon Feb 9 10:15:05 UTC 2026 x86_64
User: www-data (33)
PHP: 8.4.18
Disabled: NONE
Upload Files
File: /srv/www/csmcri-res-in-d10/web/libraries/jquery.select2/tests/dropdown/dropdownParent-tests.js
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'
    );
});