Exemple #1
0
 def test_getgroup_simple(self):
     parser = parseopt.Parser()
     group = parser.getgroup("hello", description="desc")
     assert group.name == "hello"
     assert group.description == "desc"
     group2 = parser.getgroup("hello")
     assert group2 is group
Exemple #2
0
 def test_parse_will_set_default(self):
     parser = parseopt.Parser()
     parser.addoption("--hello", dest="hello", default="x", action="store")
     option, args = parser.parse([])
     assert option.hello == "x"
     del option.hello
     args = parser.parse_setoption([], option)
     assert option.hello == "x"
Exemple #3
0
 def test_group_ordering(self):
     parser = parseopt.Parser()
     group0 = parser.getgroup("1")
     group1 = parser.getgroup("2")
     group1 = parser.getgroup("3", after="1")
     groups = parser._groups
     groups_names = [x.name for x in groups]
     assert groups_names == list("132")
Exemple #4
0
 def test_group_shortopt_lowercase(self):
     parser = parseopt.Parser()
     group = parser.getgroup("hello")
     pytest.raises(ValueError, """
         group.addoption("-x", action="store_true")
     """)
     assert len(group.options) == 0
     group._addoption("-x", action="store_true")
     assert len(group.options) == 1
Exemple #5
0
 def test_parse_setoption(self):
     parser = parseopt.Parser()
     parser.addoption("--hello", dest="hello", action="store")
     parser.addoption("--world", dest="world", default=42)
     class A: pass
     option = A()
     args = parser.parse_setoption(['--hello', 'world'], option)
     assert option.hello == "world"
     assert option.world == 42
     assert not args
Exemple #6
0
 def test_parse_defaultgetter(self):
     def defaultget(option):
         if option.type == "int":
             option.default = 42
         elif option.type == "string":
             option.default = "world"
     parser = parseopt.Parser(processopt=defaultget)
     parser.addoption("--this", dest="this", type="int", action="store")
     parser.addoption("--hello", dest="hello", type="string", action="store")
     parser.addoption("--no", dest="no", action="store_true")
     option, args = parser.parse([])
     assert option.hello == "world"
     assert option.this == 42
Exemple #7
0
 def test_parse_defaultgetter(self):
     def defaultget(option):
         if not hasattr(option, 'type'):
             return
         if option.type is int:
             option.default = 42
         elif option.type is str:
             option.default = "world"
     parser = parseopt.Parser(processopt=defaultget)
     parser.addoption("--this", dest="this", type="int", action="store")
     parser.addoption("--hello", dest="hello", type="string", action="store")
     parser.addoption("--no", dest="no", action="store_true")
     option = parser.parse([])
     assert option.hello == "world"
     assert option.this == 42
     assert option.no is False
Exemple #8
0
def parser():
    return parseopt.Parser()
Exemple #9
0
 def test_no_help_by_default(self, capsys):
     parser = parseopt.Parser(usage="xyz")
     pytest.raises(SystemExit, lambda: parser.parse(["-h"]))
     out, err = capsys.readouterr()
     assert err.find("error: unrecognized arguments") != -1
Exemple #10
0
 def test_parse(self):
     parser = parseopt.Parser()
     option, args = parser.parse([py.path.local()])
     assert args[0] == py.path.local()
Exemple #11
0
 def test_parse(self):
     parser = parseopt.Parser()
     parser.addoption("--hello", dest="hello", action="store")
     option, args = parser.parse(['--hello', 'world'])
     assert option.hello == "world"
     assert not args
Exemple #12
0
 def test_parser_addoption(self):
     parser = parseopt.Parser()
     group = parser.getgroup("custom options")
     assert len(group.options) == 0
     group.addoption("--option1", action="store_true")
     assert len(group.options) == 1
Exemple #13
0
 def test_no_help_by_default(self, capsys):
     parser = parseopt.Parser(usage="xyz")
     pytest.raises(SystemExit, 'parser.parse(["-h"])')
     out, err = capsys.readouterr()
     assert err.find("no such option") != -1
Exemple #14
0
 def test_group_add_and_get(self):
     parser = parseopt.Parser()
     group = parser.getgroup("hello", description="desc")
     assert group.name == "hello"
     assert group.description == "desc"