Files
front/dist/assets/vendor/tom-select/test/tests/config-duplicates.js
2021-12-28 13:34:18 +01:00

46 lines
1.7 KiB
JavaScript

describe('duplicates', function() {
it_n('should add and remove duplicates',async function(){
var test = setup_test('AB_Multi',{
duplicates: true,
});
// add
assert.equal(0,test.instance.items.length,0,'should start empty');
test.instance.addItem('a');
assert.equal(test.instance.items.length,1,'should add one');
assert.equal(test.instance.input.querySelectorAll('option[value="a"]').length, 1, 'should have 1 option w/ value=a in original select');
test.instance.addItem('a');
assert.equal(test.instance.items.length,2,'should add second');
assert.equal(test.instance.input.querySelectorAll('option[value="a"]').length, 2,'should have 3 options w/ value=a in original select');
test.instance.addItem('a');
assert.equal(test.instance.items.length,3,'should have all three');
assert.equal(test.instance.input.querySelectorAll('option[value="a"]').length, 3, 'should have 3 option w/ value=a in original select');
// remove items in order
const items = test.instance.controlChildren();
await asyncClick(test.instance.control_input);
while( items.length ){
items.pop();
await asyncType('\b',test.instance.control_input);
const items_after = test.instance.controlChildren();
assert.deepEqual( items, items_after);
}
});
it_n('should initialize with duplicates (input)',async ()=>{
var test = setup_test('<input value="a,a">',{duplicates:true});
assert.equal(test.instance.items.length,2);
});
it_n('should initialize with duplicates (select)',async ()=>{
var test = setup_test('<select multiple><option selected>a</option><option selected>a</option></select>',{duplicates:true});
assert.equal(test.instance.items.length,2);
});
});