Example #1
0
    def test_from_dict_with_plain_dict(self):
        def foo(input_, output_):
            output_.writeln('foo')

        command_dict = {
            'name': 'foo',
            'description': 'The foo command.',
            'aliases': ['foobar'],
            'help': 'This is help.',
            'arguments': [{
                'name': 'bar',
                'description': 'The bar argument.',
                'required': True,
                'list': True
            }],
            'options': [{
                'name': 'baz',
                'shortcut': 'b',
                'description': 'The baz option.',
                'value_required': False,
                'list': True,
                'default': ['default']
            }],
            'code': foo
        }

        command = Command.from_dict(command_dict)

        self.assertTrue(isinstance(command, Command))
        self.assertEqual('foo', command.get_name())
        self.assertEqual(foo, command._code)
        self.assertEqual(['foobar'], command.get_aliases())
        self.assertTrue(command.get_definition().has_argument('bar'))
        self.assertTrue(command.get_definition().has_option('baz'))
Example #2
0
    def test_from_dict(self):
        def foo(input_, output_):
            output_.writeln('foo')

        command_dict = {
            'foo': {
                'description': 'The foo command.',
                'aliases': ['foobar'],
                'help': 'This is help.',
                'arguments': [{
                    'bar': {
                        'description': 'The bar argument.',
                        'required': True,
                        'list': True
                    }
                }],
                'options': [{
                    'baz': {
                        'shortcut': 'b',
                        'description': 'The baz option.',
                        'value_required': False,
                        'list': True,
                        'default': ['default']
                    }
                }],
                'code': foo
            }
        }

        command = Command.from_dict(command_dict)

        self.assertTrue(isinstance(command, Command))
        self.assertEqual('foo', command.get_name())
        self.assertEqual(foo, command._code)
        self.assertEqual(['foobar'], command.get_aliases())
        self.assertTrue(command.get_definition().has_argument('bar'))
        self.assertTrue(command.get_definition().has_option('baz'))