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'])