Example #1
0
 it('should adjust value related properties if `rawValue` is change in runtime and is given a non-exist value', function () {
     var select = new Select({ datasource: datasource, value: '2' });
     select.appendTo(container);
     select.setProperties({ rawValue: '10' });
     expect(select.get('selectedIndex')).toBe(0);
     expect(select.getRawValue()).toBe('1');
 });
Example #2
0
 it('should not adjust value related properties if `datasource` is change but value is still in sync', function () {
     var select = new Select({ datasource: datasource, value: '2' });
     select.appendTo(container);
     select.setProperties({ datasource: datasource.slice(0, 3) });
     expect(select.get('selectedIndex')).toBe(1);
     expect(select.getRawValue()).toBe('2');
 });
Example #3
0
 it('should `emptyText` if `selectedIndex` is change in runtime and is given an out-of-range value when `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, value: '2', emptyText: 'test' });
     select.appendTo(container);
     select.setProperties({ selectedIndex: 10 });
     expect(select.get('selectedIndex')).toBe(-1);
     expect(select.getRawValue()).toBe('');
 });
Example #4
0
 it('should select the first item if `selectedIndex` is change in runtime and is given an out-of-range value and no `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, value: '2' });
     select.appendTo(container);
     select.setProperties({ selectedIndex: 10 });
     expect(select.get('selectedIndex')).toBe(0);
     expect(select.getRawValue()).toBe('1');
 });
Example #5
0
 it('should accept runtime change of `selectedIndex`', function () {
     var select = new Select({ datasource: datasource, value: '2' });
     select.appendTo(container);
     select.setProperties({ selectedIndex: 2 });
     expect(select.get('selectedIndex')).toBe(2);
     expect(select.getRawValue()).toBe('3');
 });
Example #6
0
 it('should not be selected when no explicit `value`, `rawValue` or `selectedIndex` is given', function () {
     var select = new Select({ datasource: datasource });
     select.appendTo(container);
     expect(select.get('selectedIndex')).toBe(1);
     expect(select.getValue()).toBe('2');
     expect(select.getRawValue()).toBe('2');
 });
Example #7
0
 it('should sync `selectedIndex` after `value` is changed', function () {
     var select = new Select({ datasource: datasource, value: '2' });
     select.appendTo(container);
     select.setProperties({ value: '3' });
     expect(select.get('selectedIndex')).toBe(2);
     expect(select.getRawValue()).toBe('3');
 });
Example #8
0
 it('should select the first item if `datasource` is changed even value is still in sync', function () {
     var select = new Select({ datasource: datasource, value: '2' });
     select.appendTo(container);
     select.setProperties({ datasource: datasource.slice(0, 3) });
     expect(select.get('selectedIndex')).toBe(0);
     expect(select.getRawValue()).toBe('1');
 });
Example #9
0
 it('should select `emptyText` if `datasource` is change in runtime which causes value to be unsynced when `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, value: '6', emptyText: 'test' });
     select.appendTo(container);
     select.setProperties({ datasource: datasource.slice(0, 3) });
     expect(select.get('selectedIndex')).toBe(-1);
     expect(select.getRawValue()).toBe('');
 });
Example #10
0
 it('should select the first item if `datasource` is changed in runtime when no `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, value: '6' });
     select.appendTo(container);
     select.setProperties({ datasource: datasource.slice(0, 3) });
     expect(select.get('selectedIndex')).toBe(0);
     expect(select.getRawValue()).toBe('1');
     expect(select.main.firstChild.innerHTML).toBe('a');
 });
Example #11
0
 it('should select the correct item if an option element in layer is clicked', function () {
     var select = new Select({ datasource: datasource, value: '2' });
     select.appendTo(container);
     dispatchEvent(select.main, 'click');
     var layer = findLayer();
     var option = layer.children[2];
     dispatchEvent(option, 'click');
     expect(select.get('selectedIndex')).toBe(2);
     expect(select.getValue()).toBe('3');
     expect(select.getRawValue()).toBe('3');
 });
Example #12
0
 it('should not accept click event', function () {
     var select = new Select({ datasource: datasource, value: '2' });
     select.appendTo(container);
     dispatchEvent(select.main, 'click');
     var layer = findLayer();
     var option = layer.children[0];
     dispatchEvent(option, 'click');
     expect(select.get('selectedIndex')).toBe(1);
     expect(select.getValue()).toBe('2');
     expect(select.getRawValue()).toBe('2');
 });
Example #13
0
 it('should select the first item if given a non-exist `rawValue` and no `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, rawValue: '10' });
     expect(select.get('selectedIndex')).toBe(0);
     expect(select.getRawValue()).toBe('1');
 });
Example #14
0
 it('should select the first item if `emptyText` is removed when `emptyText` is previously selected', function () {
     var select = new Select({ datasource: datasource, emptyText: 'test' });
     select.set('emptyText', null);
     expect(select.get('selectedIndex')).toBe(0);
     expect(select.getRawValue()).toBe('1');
 });
Example #15
0
 it('should keep selecting `emptyText` if `datasource` is changed and given an item whose value is empty', function () {
     var select = new Select({ datasource: datasource, emptyText: 'test' });
     select.set('datasource', [{ name: 'x', value: '' }]);
     expect(select.get('selectedIndex')).toBe(-1);
     expect(select.getRawValue()).toBe('');
 })
Example #16
0
 it('should select `emptyText` if given a non-exist `rawValue` when `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, rawValue: '10', emptyText: 'test' });
     expect(select.get('selectedIndex')).toBe(-1);
     expect(select.getRawValue()).toBe('');
 });
Example #17
0
 it('should select the first item if given a out-of-range `selectedIndex` and no `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, selectedIndex: 10 });
     expect(select.get('selectedIndex')).toBe(0);
     expect(select.getRawValue()).toBe('1');
 });
Example #18
0
 it('should select `emptyText` if given a out-of-range `selectedIndex` when `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, selectedIndex: 10, emptyText: 'test' });
     expect(select.get('selectedIndex')).toBe(-1);
     expect(select.getRawValue()).toBe('');
 });
Example #19
0
 it('should select the first item by default if none of them are given', function () {
     var select = new Select({ datasource: datasource });
     expect(select.get('selectedIndex')).toBe(0);
     expect(select.getRawValue()).toBe('1');
 });
Example #20
0
 it('should select `emptyText` by default if only `emptyText` is given', function () {
     var select = new Select({ datasource: datasource, emptyText: 'test' });
     expect(select.get('selectedIndex')).toBe(-1);
     expect(select.getRawValue()).toBe('');
 });