Exemplo n.º 1
0
 def list_kind_test_for_empty_list_value(self):
     arg = Argument("a", kind=list)
     assert not arg.got_value
     arg.value = "append-me"
     assert arg.got_value
Exemplo n.º 2
0
 def _compare(self, argname, invoke, value):
     c = Context("mytask", args=(Argument(argname, kind=str),))
     r = Parser((c,)).parse_argv(["mytask", invoke])
     assert r[0].args[argname].value == value
Exemplo n.º 3
0
 def task_name(self):
     # mytask --foo myothertask
     c1 = Context("mytask", args=(Argument("foo", optional=True),))
     c2 = Context("othertask")
     p = Parser([c1, c2])
     self._test_for_ambiguity("--foo othertask", p)
Exemplo n.º 4
0
 def returned_context_member_arguments_contain_given_values(self):
     c = Context("mytask", args=(Argument("boolean", kind=bool),))
     result = Parser((c,)).parse_argv(["mytask", "--boolean"])
     assert result[0].args["boolean"].value is True
Exemplo n.º 5
0
 def setup(self):
     self.p = Parser([Context(name="foo", args=[Argument("bar")])])
Exemplo n.º 6
0
 def non_bool_implies_value_needed(self):
     assert Argument(name="a", kind=int).takes_value
     assert Argument(name="b", kind=str).takes_value
     assert Argument(name="c", kind=list).takes_value
Exemplo n.º 7
0
 def may_take_names_list(self):
     names = ("--foo", "-f")
     a = Argument(names=names)
     # herp a derp
     for name in names:
         assert name in a.names
Exemplo n.º 8
0
 def positional_is_False_by_default(self):
     assert Argument(name="foo").positional is False
Exemplo n.º 9
0
 def can_set_attr_name_to_control_name_attr(self):
     a = Argument("foo", attr_name="bar")
     assert a.name == "bar"  # not 'foo'
Exemplo n.º 10
0
 def default_arg_is_name_not_names(self):
     assert "b" in Argument("b").names
Exemplo n.º 11
0
 def can_declare_positional(self):
     assert Argument(name="foo", positional=True).positional is True
Exemplo n.º 12
0
 def allows_setting_value_without_casting(self):
     a = Argument("a", kind=int)
     a.set_value("5", cast=False)
     assert a.value == "5"
Exemplo n.º 13
0
 def casts_by_default(self):
     a = Argument("a", kind=int)
     a.set_value("5")
     assert a.value == 5
Exemplo n.º 14
0
 def must_get_at_least_one_name(self):
     with raises(TypeError):
         Argument()
Exemplo n.º 15
0
 def is_optional(self):
     Argument(name="a")
     Argument(name="b", kind=int)
Exemplo n.º 16
0
 def shows_useful_info(self):
     arg = Argument(names=("name", "nick1", "nick2"))
     expected = "<Argument: {} ({})>".format("name", "nick1, nick2")
     assert repr(arg) == expected
Exemplo n.º 17
0
 def defaults_to_str(self):
     assert Argument("a").kind == str
Exemplo n.º 18
0
 def does_not_show_nickname_parens_if_no_nicknames(self):
     assert repr(Argument("name")) == "<Argument: name>"
Exemplo n.º 19
0
 def bool_implies_no_value_needed(self):
     assert not Argument(name="a", kind=bool).takes_value
Exemplo n.º 20
0
 def shows_positionalness(self):
     arg = Argument("name", positional=True)
     assert repr(arg) == "<Argument: name *>"
Exemplo n.º 21
0
 def may_validate_on_set(self):
     with raises(ValueError):
         Argument("a", kind=int).value = "five"
Exemplo n.º 22
0
 def shows_optionalness(self):
     arg = Argument("name", optional=True)
     assert repr(arg) == "<Argument: name ?>"
Exemplo n.º 23
0
 def inverse_bools_get_set_correctly(self):
     arg = Argument("myarg", kind=bool, default=True)
     c = Context("mytask", args=(arg,))
     r = Parser((c,)).parse_argv(["mytask", "--no_myarg"])
     assert r[0].args["myarg"].value is False
Exemplo n.º 24
0
 def positionalness_and_optionalness_stick_together(self):
     # TODO: but do these even make sense on the same argument? For now,
     # best to have a nonsensical test than a missing one...
     arg = Argument("name", optional=True, positional=True)
     assert repr(arg) == "<Argument: name *?>"
Exemplo n.º 25
0
 def _basic(self):
     arg = Argument("pos", positional=True)
     mytask = Context(name="mytask", args=[arg])
     return Parser(contexts=[mytask])
Exemplo n.º 26
0
 def shows_kind_if_not_str(self):
     assert repr(Argument("age", kind=int)) == "<Argument: age [int]>"
Exemplo n.º 27
0
 def invalid_flaglike_value_is_stored_as_value(self):
     self._parser((Argument("foo", optional=True),))
     result = self._parse("--foo --bar")
     assert result[0].args["foo"].value == "--bar"
Exemplo n.º 28
0
 def all_the_things_together(self):
     arg = Argument(names=("meh", "m"),
                    kind=int,
                    optional=True,
                    positional=True)
     assert repr(arg) == "<Argument: meh (m) [int] *?>"
Exemplo n.º 29
0
 def _parse(self, *args):
     c = Context("mytask", args=(Argument("mylist", kind=list),))
     argv = ["mytask"] + list(args)
     return Parser([c]).parse_argv(argv)[0].args.mylist.value
Exemplo n.º 30
0
 def non_list_kind_tests_for_None_value(self):
     arg = Argument("a")
     assert not arg.got_value
     arg.value = "something"
     assert arg.got_value