def test_parse(self): command = TestCommand() command.add_option("foo", Option("-a", Boolean())) self.assert_equal( command.run(["-a"]), ((), {"foo": True}) ) command.add_option("bar", Option("-b", Boolean(store=False))) self.assert_equal( command.run(["-b"]), ((), {"bar": False}) )
def parse_test(self): command = TestCommand() command.add_option("foo", Option("-a", positional())) for args, expected in single: self.assert_equal( command.run(["-a"] + args), ((), {"foo": expected}) ) command.add_option("bar", Option("-b", positional(remaining=True))) for args, expected in remaining: self.assert_equal( command.run(["-b"] + args, passthrough_errors=True), ((), {"bar": expected}) ) command.add_option( "baz", Option("-c", positional(), positional(optional=True)) ) for args, expected in optional: self.assert_equal( command.run(["-c"] + args, passthrough_errors=True), ((), {"baz": expected}) )