Ejemplo n.º 1
0
    def test_parse(self):
        p = parser.ArgumentParser()
        p.usage = 'parse'

        parser.add_user_argument(p, '--foo', action='store_true')
        self.assertEqual(p.parse_args(['--foo']), parser.Namespace(foo=True))
        self.assertEqual(p.parse_args(['--x-foo']), parser.Namespace(foo=True))
Ejemplo n.º 2
0
    def test_long_flag(self):
        p = parser.ArgumentParser()
        p.add_argument('--foo', action='store_true')

        self.assertEqual(p.parse_args([]), parser.Namespace(foo=False))
        self.assertEqual(p.parse_args(['--foo']), parser.Namespace(foo=True))
        self.assertEqual(p.parse_known_args(['--fo']),
                         (parser.Namespace(foo=False), ['--fo']))
Ejemplo n.º 3
0
    def test_help(self):
        p = parser.ArgumentParser()
        p.usage = 'help'

        parser.add_user_argument(p, '--foo', action='store_true')
        self.assertEqual(p.parse_args(['--foo']), parser.Namespace(foo=True))
        self.assertEqual(p.parse_known_args(['--x-foo']),
                         (parser.Namespace(foo=False), ['--x-foo']))
Ejemplo n.º 4
0
    def test_invalid(self):
        add_user_argument = parser.add_user_argument
        p = parser.ArgumentParser()
        p.usage = 'parse'

        self.assertRaises(ValueError, add_user_argument, p, '-f')
        self.assertRaises(ValueError, add_user_argument, p, 'foo')
        self.assertRaises(ValueError, add_user_argument, p, '--foo', '-f')
        self.assertRaises(ValueError, add_user_argument, p, '--x-foo')
Ejemplo n.º 5
0
    def test_default(self):
        p = parser.ArgumentParser()
        p.add_argument('--feature', action=self.action, default=True)

        self.assertEqual(p.parse_args([]), parser.Namespace(feature=True))
        self.assertEqual(p.parse_args(['--{}-feature'.format(self.action)]),
                         parser.Namespace(feature=True))
        self.assertEqual(
            p.parse_args(['--{}-feature'.format(self.not_action)]),
            parser.Namespace(feature=False))
Ejemplo n.º 6
0
    def test_complete(self):
        p = parser.ArgumentParser()
        arg = p.add_argument('--arg', complete='file')
        self.assertEqual(arg.complete, 'file')

        file_arg = p.add_argument('--file', type=parser.File())
        self.assertEqual(file_arg.complete, 'file')

        dir_arg = p.add_argument('--dir', type=parser.Directory())
        self.assertEqual(dir_arg.complete, 'directory')
Ejemplo n.º 7
0
    def test_long_value(self):
        p = parser.ArgumentParser()
        p.add_argument('--foo')

        self.assertEqual(p.parse_args([]), parser.Namespace(foo=None))
        self.assertEqual(p.parse_args(['--foo', 'bar']),
                         parser.Namespace(foo='bar'))
        self.assertEqual(p.parse_args(['--foo=bar']),
                         parser.Namespace(foo='bar'))
        self.assertEqual(p.parse_known_args(['--fo=bar']),
                         (parser.Namespace(foo=None), ['--fo=bar']))
Ejemplo n.º 8
0
    def test_group(self):
        p = parser.ArgumentParser()
        g = p.add_argument_group()

        g.add_argument('--foo', action='store_true')
        self.assertEqual(p.parse_args(['--foo']), parser.Namespace(foo=True))

        g.value = True
        self.assertTrue(g.value)
        del g.value
        self.assertFalse(hasattr(g, 'value'))
Ejemplo n.º 9
0
    def test_short_value(self):
        p = parser.ArgumentParser()
        p.add_argument('-f')

        self.assertEqual(p.parse_args([]), parser.Namespace(f=None))
        self.assertEqual(p.parse_args(['-fbar']), parser.Namespace(f='bar'))
Ejemplo n.º 10
0
 def test_invalid(self):
     p = parser.ArgumentParser()
     with self.assertRaises(ValueError):
         p.add_argument('feature', action=self.action)
     with self.assertRaises(ValueError):
         p.add_argument('-f', action=self.action)
Ejemplo n.º 11
0
    def test_positional(self):
        p = parser.ArgumentParser()
        p.add_argument('foo')

        self.assertEqual(p.parse_args(['bar']), parser.Namespace(foo='bar'))
Ejemplo n.º 12
0
    def test_short_flag(self):
        p = parser.ArgumentParser()
        p.add_argument('-f', action='store_true')

        self.assertEqual(p.parse_args([]), parser.Namespace(f=False))
        self.assertEqual(p.parse_args(['-f']), parser.Namespace(f=True))