module('Dropdown - attachBody - dropdownParent option'); test('can be a selector string', function (assert) { assert.expect(1); var $ = require('jquery'); var $select = $(''); var $parent = $('
'); $('#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 = $(''); var $parent = $('
'); $('#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 = $(''); 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' ); });