def test_simple_menu_bar(self): """ Does constructing a simple menu with no additions work? """ schema = MenuBarSchema( MenuSchema(self.action1, self.action2, id="File", name="&File"), MenuSchema(self.action3, self.action4, id="Edit", name="&Edit"), ) builder = TaskActionManagerBuilder(task=Task(menu_bar=schema)) actual = builder.create_menu_bar_manager() desired = MenuBarManager( MenuManager(self.action1, self.action2, id="File", name="&File"), MenuManager(self.action3, self.action4, id="Edit", name="&Edit"), id="MenuBar", ) self.assertActionElementsEqual(actual, desired)
def test_additions_menu_bar(self): """ Does constructing a menu with a few additions work? """ schema = MenuBarSchema(MenuSchema(GroupSchema(self.action1, self.action2, id="FileGroup"), id="File")) extras = [ SchemaAddition(factory=lambda: self.action3, before="action1", path="MenuBar/File/FileGroup"), SchemaAddition(factory=lambda: self.action4, before="action1", path="MenuBar/File/FileGroup"), SchemaAddition(factory=lambda: self.action5, path="MenuBar/File/FileGroup"), ] builder = TaskActionManagerBuilder(task=Task(menu_bar=schema, extra_actions=extras)) actual = builder.create_menu_bar_manager() desired = MenuBarManager( MenuManager( Group(self.action3, self.action4, self.action1, self.action2, self.action5, id="FileGroup"), id="File" ), id="MenuBar", ) self.assertActionElementsEqual(actual, desired)