Skip to content

Commit 0d6e9cb

Browse files
committed
Added unit test for overriding default parser
1 parent eee6bf1 commit 0d6e9cb

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

tests/test_argparse_custom.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,3 +242,20 @@ def test_apcustom_required_options():
242242
parser = Cmd2ArgumentParser()
243243
parser.add_argument('--required_flag', required=True)
244244
assert 'required arguments' in parser.format_help()
245+
246+
247+
def test_override_parser():
248+
import importlib
249+
from cmd2 import DEFAULT_ARGUMENT_PARSER
250+
251+
# The standard parser is Cmd2ArgumentParser
252+
assert DEFAULT_ARGUMENT_PARSER == Cmd2ArgumentParser
253+
254+
# Set our parser module and force a reload of cmd2 so it loads the module
255+
argparse.cmd2_parser_module = 'examples.custom_parser'
256+
importlib.reload(cmd2)
257+
from cmd2 import DEFAULT_ARGUMENT_PARSER
258+
259+
# Verify DEFAULT_ARGUMENT_PARSER is now our CustomParser
260+
from examples.custom_parser import CustomParser
261+
assert DEFAULT_ARGUMENT_PARSER == CustomParser

0 commit comments

Comments
 (0)