summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorEric N. Vander Weele <ericvw@gmail.com>2019-10-25 15:01:30 -0400
committerEric N. Vander Weele <ericvw@gmail.com>2019-10-25 17:07:43 -0400
commit1d7558f7da77d67272352d6ab8ca8a476cf80411 (patch)
tree4ce306cb5c0e5f359dfdc6b833290d478656e84d /tests/unit
parent2a5c2bb6969046b607bbb44bf5c7d2c774768d7c (diff)
downloadflake8-1d7558f7da77d67272352d6ab8ca8a476cf80411.tar.gz
optmanager: Inherit options from parent argument parsers
Allow for including options from parent `argparse.ArgumentParser` objects in preparation of splitting out the handling of preliminary options from the `OptionManager`.
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/test_option_manager.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/unit/test_option_manager.py b/tests/unit/test_option_manager.py
index b384a31..b97a9a6 100644
--- a/tests/unit/test_option_manager.py
+++ b/tests/unit/test_option_manager.py
@@ -22,6 +22,23 @@ def test_option_manager_creates_option_parser(optmanager):
assert isinstance(optmanager.parser, argparse.ArgumentParser)
+def test_option_manager_including_parent_options():
+ """Verify parent options are included in the parsed options."""
+ # GIVEN
+ parent_parser = argparse.ArgumentParser(add_help=False)
+ parent_parser.add_argument('--parent')
+
+ # WHEN
+ optmanager = manager.OptionManager(
+ prog='flake8',
+ version=TEST_VERSION,
+ parents=[parent_parser])
+ option, _ = optmanager.parse_args(['--parent', 'foo'])
+
+ # THEN
+ assert option.parent == 'foo'
+
+
def test_parse_args_forwarding_default_values(optmanager):
"""Verify default provided values are present in the final result."""
namespace = argparse.Namespace(foo='bar')