summaryrefslogtreecommitdiff
path: root/tests/test_submenu.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_submenu.py')
-rw-r--r--tests/test_submenu.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/test_submenu.py b/tests/test_submenu.py
index 9b42f38f..0b5330a8 100644
--- a/tests/test_submenu.py
+++ b/tests/test_submenu.py
@@ -8,8 +8,17 @@ import cmd2
from conftest import run_cmd, StdOut, normalize
+class SecondLevelB(cmd2.Cmd):
+ """To be used as a second level command class. """
+
+ def __init__(self, *args, **kwargs):
+ cmd2.Cmd.__init__(self, *args, **kwargs)
+ self.prompt = '2ndLevel B '
+
+
class SecondLevel(cmd2.Cmd):
"""To be used as a second level command class. """
+
def __init__(self, *args, **kwargs):
cmd2.Cmd.__init__(self, *args, **kwargs)
self.prompt = '2ndLevel '
@@ -32,8 +41,10 @@ class SecondLevel(cmd2.Cmd):
second_level_cmd = SecondLevel()
+second_level_b_cmd = SecondLevelB()
+@cmd2.AddSubmenu(second_level_b_cmd, command='secondb')
@cmd2.AddSubmenu(second_level_cmd,
command='second',
aliases=('second_alias',),
@@ -63,6 +74,7 @@ def submenu_app():
second_level_cmd.stdout = StdOut()
return app
+
@pytest.fixture
def secondlevel_app():
app = SecondLevel()
@@ -89,6 +101,7 @@ def test_submenu_say_from_top_level(submenu_app):
assert len(out2) == 0
assert out1[0] == "You called a command in TopLevel with {!r}.".format(line)
+
def test_submenu_second_say_from_top_level(submenu_app):
line = 'testing'
out1, out2 = run_submenu_cmd(submenu_app, 'second say ' + line)
@@ -100,6 +113,7 @@ def test_submenu_second_say_from_top_level(submenu_app):
assert len(out2) == 1
assert out2[0] == "You called a command in SecondLevel with {!r}.".format(line)
+
def test_submenu_say_from_second_level(secondlevel_app):
line = 'testing'
out = run_cmd(secondlevel_app, 'say ' + line)
@@ -135,4 +149,3 @@ def test_submenu_from_top_help_second_say(submenu_app):
def test_submenu_shared_attribute(submenu_app):
out1, out2 = run_submenu_cmd(submenu_app, 'second get_top_level_attr')
assert out2 == [str(submenu_app.top_level_attr)]
-