mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
test(menu): add karma tests
This commit is contained in:
126
ionic/components/menu/test/menu.spec.ts
Normal file
126
ionic/components/menu/test/menu.spec.ts
Normal file
@@ -0,0 +1,126 @@
|
||||
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);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user