mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-22 13:32:54 +08:00
127 lines
3.3 KiB
TypeScript
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);
|
|
}
|
|
|
|
});
|
|
}
|