From 9ca5acd546cca202991cd513124ec27172c45078 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 10 May 2016 07:00:10 +0200 Subject: [PATCH] Add tests for flags with @cmdutils.register --- tests/unit/commands/test_cmdutils.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/unit/commands/test_cmdutils.py b/tests/unit/commands/test_cmdutils.py index 206e1c600..4c86333d4 100644 --- a/tests/unit/commands/test_cmdutils.py +++ b/tests/unit/commands/test_cmdutils.py @@ -189,3 +189,24 @@ class TestRegister: """Blah.""" pass cmdutils.cmd_dict['fun'].parser.parse_args([]) + + def test_flag(self): + @cmdutils.register() + def fun(arg=False): + """Blah.""" + pass + parser = cmdutils.cmd_dict['fun'].parser + assert parser.parse_args(['--arg']).arg + assert parser.parse_args(['-a']).arg + assert not parser.parse_args([]).arg + + def test_flag_annotation(self): + @cmdutils.register() + def fun(arg: {'flag': 'b'}=False): + """Blah.""" + pass + parser = cmdutils.cmd_dict['fun'].parser + + assert parser.parse_args(['-b']).arg + with pytest.raises(argparser.ArgumentParserError): + parser.parse_args(['-a'])