2019-08-08 04:16:45 +03:00
|
|
|
QUnit.module('Options - Width');
|
2015-01-12 01:25:53 +03:00
|
|
|
|
2015-01-29 16:11:18 +03:00
|
|
|
var $ = require('jquery');
|
|
|
|
|
2015-01-12 01:25:53 +03:00
|
|
|
var Select2 = require('select2/core');
|
|
|
|
var select = new Select2($('<select></select>'));
|
|
|
|
|
2019-08-08 04:16:45 +03:00
|
|
|
QUnit.test('string passed as width', function (assert) {
|
2015-01-12 01:25:53 +03:00
|
|
|
var $test = $('<select></select>');
|
|
|
|
|
|
|
|
var width = select._resolveWidth($test, '80%');
|
|
|
|
|
|
|
|
assert.equal(width, '80%');
|
|
|
|
});
|
|
|
|
|
2019-08-08 04:16:45 +03:00
|
|
|
QUnit.test('width from style attribute', function (assert) {
|
2015-01-12 01:25:53 +03:00
|
|
|
var $test = $('<select style="width: 50%;"></selct>');
|
|
|
|
|
|
|
|
var width = select._resolveWidth($test, 'style');
|
|
|
|
|
|
|
|
assert.equal(width, '50%');
|
|
|
|
});
|
|
|
|
|
2019-08-22 05:21:52 +03:00
|
|
|
QUnit.test(
|
|
|
|
'width from style returns null if nothing is found',
|
|
|
|
function (assert) {
|
|
|
|
var $test = $('<select></selct>');
|
2015-01-12 01:25:53 +03:00
|
|
|
|
2019-08-22 05:21:52 +03:00
|
|
|
var width = select._resolveWidth($test, 'style');
|
2015-01-12 01:25:53 +03:00
|
|
|
|
2019-08-22 05:21:52 +03:00
|
|
|
assert.equal(width, null);
|
|
|
|
}
|
|
|
|
);
|
2015-01-12 01:25:53 +03:00
|
|
|
|
2019-08-08 04:16:45 +03:00
|
|
|
QUnit.test('width from computed element width', function (assert) {
|
2015-03-12 01:51:55 +03:00
|
|
|
var $style = $(
|
|
|
|
'<style type="text/css">.css-set-width { width: 500px; }</style>'
|
|
|
|
);
|
2015-01-12 01:25:53 +03:00
|
|
|
var $test = $('<select class="css-set-width"></select>');
|
2015-03-12 01:51:55 +03:00
|
|
|
|
|
|
|
$('#qunit-fixture').append($style);
|
2015-01-12 01:25:53 +03:00
|
|
|
$('#qunit-fixture').append($test);
|
|
|
|
|
|
|
|
var width = select._resolveWidth($test, 'element');
|
|
|
|
|
|
|
|
assert.equal(width, '500px');
|
|
|
|
});
|
|
|
|
|
2019-08-08 04:16:45 +03:00
|
|
|
QUnit.test('resolve gets the style if it is there', function (assert) {
|
2015-01-12 01:25:53 +03:00
|
|
|
var $test = $('<select style="width: 20%;"></selct>');
|
|
|
|
|
|
|
|
var width = select._resolveWidth($test, 'resolve');
|
|
|
|
|
|
|
|
assert.equal(width, '20%');
|
|
|
|
});
|
|
|
|
|
2019-08-22 05:21:52 +03:00
|
|
|
QUnit.test(
|
|
|
|
'resolve falls back to element if there is no style',
|
|
|
|
function (assert) {
|
|
|
|
var $style = $(
|
|
|
|
'<style type="text/css">.css-set-width { width: 500px; }</style>'
|
|
|
|
);
|
|
|
|
var $test = $('<select class="css-set-width"></select>');
|
|
|
|
|
|
|
|
$('#qunit-fixture').append($style);
|
|
|
|
$('#qunit-fixture').append($test);
|
|
|
|
|
|
|
|
var width = select._resolveWidth($test, 'resolve');
|
|
|
|
|
|
|
|
assert.equal(width, '500px');
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
QUnit.test(
|
|
|
|
'computedstyle gets the style if parent is invisible',
|
|
|
|
function (assert) {
|
|
|
|
var $style = $(
|
|
|
|
'<style type="text/css">.css-set-width { width: 500px; }</style>'
|
|
|
|
);
|
|
|
|
var $test = $(
|
|
|
|
'<div style="display:none;">' +
|
|
|
|
'<select class="css-set-width"></select>' +
|
|
|
|
'</div>'
|
|
|
|
);
|
|
|
|
|
|
|
|
$('#qunit-fixture').append($style);
|
|
|
|
$('#qunit-fixture').append($test);
|
|
|
|
|
|
|
|
var width = select._resolveWidth($test.find('select'), 'computedstyle');
|
|
|
|
|
|
|
|
assert.equal(width, '500px');
|
|
|
|
}
|
|
|
|
);
|