1
0
mirror of synced 2024-11-26 06:46:04 +03:00
select2/tests/options/width-tests.js
Kevin Brown af1f35176b Added back the width option
In past versions of Select2, the `width` option could be used to
tell Select2 how to determine the width of the container generated
by Select2.

**Breaking change:** The default value for the `width` option has
been changed from `copy` to `resolve.`

**Breaking change:** The old option called `copy` has been renamed
to `style` to better reflect what the width is generated from.

This fixes https://github.com/select2/select2/pull/2090.
This fixes https://github.com/select2/select2/issues/2911.
2015-01-11 18:00:48 -05:00

55 lines
1.4 KiB
JavaScript

module('Options - Width');
var Select2 = require('select2/core');
var select = new Select2($('<select></select>'));
test('string passed as width', function (assert) {
var $test = $('<select></select>');
var width = select._resolveWidth($test, '80%');
assert.equal(width, '80%');
});
test('width from style attribute', function (assert) {
var $test = $('<select style="width: 50%;"></selct>');
var width = select._resolveWidth($test, 'style');
assert.equal(width, '50%');
});
test('width from style returns null if nothing is found', function (assert) {
var $test = $('<select></selct>');
var width = select._resolveWidth($test, 'style');
assert.equal(width, null);
});
test('width from computer element width', function (assert) {
var $test = $('<select class="css-set-width"></select>');
$('#qunit-fixture').append($test);
var width = select._resolveWidth($test, 'element');
assert.equal(width, '500px');
});
test('resolve gets the style if it is there', function (assert) {
var $test = $('<select style="width: 20%;"></selct>');
var width = select._resolveWidth($test, 'resolve');
assert.equal(width, '20%');
});
test('resolve falls back to element if there is no style', function (assert) {
var $test = $('<select class="css-set-width"></select>');
$('#qunit-fixture').append($test);
var width = select._resolveWidth($test, 'resolve');
assert.equal(width, '500px');
});