mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
tests(menu): add menu rtl tests
This commit is contained in:
@@ -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()', () => {
|
||||
|
||||
Reference in New Issue
Block a user