tests(menu): add menu rtl tests

This commit is contained in:
Amit Moryossef
2017-04-21 01:24:40 +03:00
parent d65575b9ca
commit dcf80e4161

View File

@@ -1,5 +1,6 @@
import { MenuController } from '../menu-controller';
import { mockMenu } from '../../../util/mock-providers';
import {mockMenu, mockPlatform} from '../../../util/mock-providers';
import {Side} from '../menu';
describe('MenuController', () => {
@@ -116,6 +117,30 @@ describe('MenuController', () => {
expect(menu).toEqual(someMenu);
});
it('should get the only left menu on start ltr', () => {
let someMenu = mockMenu();
someMenu.side = 'start';
menuCtrl._register(someMenu);
let menu = menuCtrl.get('left');
expect(menu).toEqual(someMenu);
});
it('should get the only left menu on end rtl', () => {
let platform = mockPlatform();
platform.setDir('rtl', true);
expect(platform.dir()).toEqual('rtl');
let someMenu = mockMenu(platform);
someMenu.side = 'end';
menuCtrl._register(someMenu);
expect(someMenu.side).toEqual('left');
let menu = menuCtrl.get('left');
expect(menu).toEqual(someMenu);
});
it('should get the enabled left menu', () => {
let someMenu1 = mockMenu();
someMenu1.side = 'left';
@@ -155,6 +180,30 @@ describe('MenuController', () => {
expect(menu).toEqual(someMenu);
});
it('should get the only right menu on end ltr', () => {
let someMenu = mockMenu();
someMenu.side = 'end';
menuCtrl._register(someMenu);
let menu = menuCtrl.get('right');
expect(menu).toEqual(someMenu);
});
it('should get the only right menu on start rtl', () => {
let platform = mockPlatform();
platform.setDir('rtl', true);
expect(platform.dir()).toEqual('rtl');
let someMenu = mockMenu(platform);
someMenu.side = 'start';
menuCtrl._register(someMenu);
expect(someMenu.side).toEqual('right');
let menu = menuCtrl.get('right');
expect(menu).toEqual(someMenu);
});
it('should get the menu by left with id', () => {
let someMenu = mockMenu();
someMenu.id = 'myMenu';
@@ -165,6 +214,40 @@ describe('MenuController', () => {
expect(menu).toEqual(someMenu);
});
it('should switch menu side in runtime', () => {
let someMenu = mockMenu();
menuCtrl._register(someMenu);
['left', 'right'].forEach((side: Side) => {
someMenu.side = side;
expect(someMenu.side).toEqual(side);
let menu = menuCtrl.get(side);
expect(menu).toEqual(someMenu);
});
});
it('should switch menu side in runtime by direction', () => {
let platform = mockPlatform();
platform.setDir('ltr', true);
expect(platform.dir()).toEqual('ltr');
let someMenu = mockMenu(platform);
menuCtrl._register(someMenu);
expect(someMenu.side).toEqual('left');
let menu = menuCtrl.get('left');
expect(menu).toEqual(someMenu);
platform.setDir('rtl', true);
expect(someMenu.side).toEqual('right');
let menu2 = menuCtrl.get('right');
expect(menu2).toEqual(someMenu);
});
});
describe('enable()', () => {