describe('TabBar view', function() { var element, tabBar, items; beforeEach(function() { element = $('
' + 'Tab 1' + 'Tab 2' + 'Tab 3'); tabBar = new TabBar({ el: element.get(0) }); }); it('Should read tabs', function() { items = tabBar.getItems(); expect(items.length).toEqual(3); expect(items[0].el.innerText).toEqual('Tab 1'); expect(items[1].el.innerText).toEqual('Tab 2'); expect(items[2].el.innerText).toEqual('Tab 3'); }); it('Should select', function() { items = tabBar.getItems(); // Track selection object tabBar.setSelectedItem(1); expect(tabBar.getSelectedItem().el.innerText).toEqual('Tab 2'); tabBar.setSelectedItem(0); expect(tabBar.getSelectedItem().el.innerText).toEqual('Tab 1'); tabBar.setSelectedItem(2); expect(tabBar.getSelectedItem().el.innerText).toEqual('Tab 3'); // Track class change expect(tabBar.getSelectedItem().el.classList.contains('active')).toEqual(true); // Make sure the other ones have theirs cleared expect(items[0].el.classList.contains('active')).toEqual(false); expect(items[1].el.classList.contains('active')).toEqual(false); expect(items[2].el.classList.contains('active')).toEqual(true); tabBar.setSelectedItem(0); expect(items[0].el.classList.contains('active')).toEqual(true); expect(items[1].el.classList.contains('active')).toEqual(false); expect(items[2].el.classList.contains('active')).toEqual(false); }); });