123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- // Copyright (c) Jupyter Development Team.
- // Distributed under the terms of the Modified BSD License.
- import {
- EditMenu,
- FileMenu,
- HelpMenu,
- KernelMenu,
- MainMenu,
- RunMenu,
- SettingsMenu,
- TabsMenu,
- ViewMenu
- } from '@jupyterlab/mainmenu';
- import { ArrayExt, find } from '@lumino/algorithm';
- import { CommandRegistry } from '@lumino/commands';
- import { Menu } from '@lumino/widgets';
- describe('@jupyterlab/mainmenu', () => {
- describe('MainMenu', () => {
- let commands: CommandRegistry;
- let mainMenu: MainMenu;
- beforeAll(() => {
- commands = new CommandRegistry();
- });
- beforeEach(() => {
- mainMenu = new MainMenu(commands);
- });
- afterEach(() => {
- mainMenu.dispose();
- });
- describe('#constructor()', () => {
- it('should construct a new main menu', () => {
- const menu = new MainMenu(new CommandRegistry());
- expect(menu).toBeInstanceOf(MainMenu);
- });
- });
- describe('#addMenu()', () => {
- it('should add a new menu', () => {
- const menu = new Menu({ commands });
- mainMenu.addMenu(menu);
- expect(find(mainMenu.menus, m => menu === m) !== undefined).toBe(true);
- });
- it('should take a rank as an option', () => {
- const menu1 = new Menu({ commands });
- const menu2 = new Menu({ commands });
- mainMenu.addMenu(menu1, { rank: 300 });
- mainMenu.addMenu(menu2, { rank: 200 });
- expect(
- ArrayExt.firstIndexOf(mainMenu.menus, menu1) >
- ArrayExt.firstIndexOf(mainMenu.menus, menu2)
- ).toBe(true);
- });
- });
- describe('#fileMenu', () => {
- it('should be a FileMenu', () => {
- expect(mainMenu.fileMenu).toBeInstanceOf(FileMenu);
- });
- it('has a default rank of 1', () => {
- expect(mainMenu.fileMenu.rank).toEqual(1);
- });
- });
- describe('#editMenu', () => {
- it('should be a EditMenu', () => {
- expect(mainMenu.editMenu).toBeInstanceOf(EditMenu);
- });
- it('has a default rank of 2', () => {
- expect(mainMenu.editMenu.rank).toEqual(2);
- });
- });
- describe('#viewMenu', () => {
- it('should be a ViewMenu', () => {
- expect(mainMenu.viewMenu).toBeInstanceOf(ViewMenu);
- });
- it('has a default rank of 3', () => {
- expect(mainMenu.viewMenu.rank).toEqual(3);
- });
- });
- describe('#runMenu', () => {
- it('should be a RunMenu', () => {
- expect(mainMenu.runMenu).toBeInstanceOf(RunMenu);
- });
- it('has a default rank of 4', () => {
- expect(mainMenu.runMenu.rank).toEqual(4);
- });
- });
- describe('#kernelMenu', () => {
- it('should be a KernelMenu', () => {
- expect(mainMenu.kernelMenu).toBeInstanceOf(KernelMenu);
- });
- it('has a default rank of 5', () => {
- expect(mainMenu.kernelMenu.rank).toEqual(5);
- });
- });
- describe('#tabsMenu', () => {
- it('should be a TabsMenu', () => {
- expect(mainMenu.tabsMenu).toBeInstanceOf(TabsMenu);
- });
- it('has a default rank of 500', () => {
- expect(mainMenu.tabsMenu.rank).toEqual(500);
- });
- });
- describe('#settingsMenu', () => {
- it('should be a SettingsMenu', () => {
- expect(mainMenu.settingsMenu).toBeInstanceOf(SettingsMenu);
- });
- it('has a default rank of 999', () => {
- expect(mainMenu.settingsMenu.rank).toEqual(999);
- });
- });
- describe('#helpMenu', () => {
- it('should be a HelpMenu', () => {
- expect(mainMenu.helpMenu).toBeInstanceOf(HelpMenu);
- });
- it('has a default rank of 1000', () => {
- expect(mainMenu.helpMenu.rank).toEqual(1000);
- });
- });
- });
- });
|