describe('optgroups', function() { var options = [ {optgroup: 'mammal', value: "dog" }, {optgroup: 'mammal', value: "cat" }, {optgroup: 'bird', value: 'duck'}, {optgroup: 'bird', value: 'chicken'}, {optgroup: 'reptile', value: 'snake'}, {optgroup: 'reptile', value: 'lizard'}, ]; var groups = [ {value: 'tetrapods', label: 'Tetrapods'}, {value: 'mammal', label: 'Mammal'}, {value: 'bird', label: 'Bird'}, {value: 'reptile', label: 'Reptile'}, ]; it_n('init', function(){ var test = setup_test('',{ labelField: 'value', searchField: ['value'], options: options, optgroups: groups }); assert.equal(Object.keys(test.instance.options).length, 6); assert.equal(Object.keys(test.instance.optgroups).length, 4); }); it_n('load optgroups', function(done) { var test = setup_test('',{ labelField: 'value', searchField: ['value'], preload: true, load: function(query, loadcb) { loadcb(options,groups); assert.equal(Object.keys(test.instance.options).length, 6); assert.equal(Object.keys(test.instance.optgroups).length, 4); done(); } }); }); it_n('duplicates & mode=single', async function(){ var test = setup_test('