Files
2016-02-19 20:36:05 -05:00

127 lines
3.3 KiB
TypeScript

import {MenuController, Menu} from '../../../../ionic/ionic';
export function run() {
describe('MenuController', () => {
describe('get', () => {
/*
* Should not get menus
*/
it('should not get a menu if no menus', () => {
let menu = menuCtrl.get();
expect(menu).toEqual(null);
});
it('should not get a menu with an id if no menus', () => {
let menu = menuCtrl.get('myid');
expect(menu).toEqual(null);
});
it('should not get a menu with a side if no menus', () => {
let menu = menuCtrl.get('left');
expect(menu).toEqual(null);
});
it('should not get a menu with a right side if no menus', () => {
let menu = menuCtrl.get('right');
expect(menu).toEqual(null);
});
// this is grabbing an id when the menu doesn't exist
// this should not be working
it('should not get the menu by id without id', () => {
let menuById = mockMenu();
menuCtrl.register(menuById);
let menu = menuCtrl.get('myMenu');
// setting this to null should be a success
expect(menu).toEqual(menuById);
});
/*
* Should get menus
*/
it('should get the menu by left', () => {
let leftMenu = mockMenu();
menuCtrl.register(leftMenu);
let menu = menuCtrl.get('left');
expect(menu).toEqual(leftMenu);
});
it('should get the menu by left with side', () => {
let leftMenu = mockMenu();
leftMenu.side = 'left';
menuCtrl.register(leftMenu);
let menu = menuCtrl.get('left');
expect(menu).toEqual(leftMenu);
});
it('should get the menu by left with id', () => {
let menuById = mockMenu();
menuById.id = 'myMenu';
menuCtrl.register(menuById);
let menu = menuCtrl.get('left');
expect(menu).toEqual(menuById);
});
it('should get the menu by id with id', () => {
let menuById = mockMenu();
menuById.id = 'myMenu';
menuCtrl.register(menuById);
let menu = menuCtrl.get('myMenu');
expect(menu).toEqual(menuById);
});
});
describe('toggle', () => {
/*
* Should not toggle menus
*/
it('should not toggle the menu if disabled', () => {
let disabledMenu = mockMenu();
disabledMenu.enabled = false;
menuCtrl.register(disabledMenu);
let menu = menuCtrl.get();
let toggle = menu.toggle();
expect(toggle).toEqual(null);
});
});
it('should register a menu', () => {
let menu = mockMenu();
menuCtrl.register(menu);
expect(menuCtrl.getMenus().length).toEqual(1);
let menu2 = mockMenu();
menuCtrl.register(menu2);
expect(menuCtrl.getMenus().length).toEqual(2);
menuCtrl.unregister(menu2);
menuCtrl.unregister(menu);
expect(menuCtrl.getMenus().length).toEqual(0);
});
let menuCtrl: MenuController;
beforeEach(() => {
menuCtrl = new MenuController();
});
function mockMenu(): Menu {
return new Menu(null, null, null, null, null, null, null);
}
});
}