def test_options_overridable(self):
     base = model.UI(options=[('partial', True), ('other', False)])
     cmd = commands.Command(base)
     base.set_command(cmd)
     ui = decorator.UI(options={'partial': False}, decorated=base)
     internal_cmd = commands.Command(ui)
     ui.set_command(internal_cmd)
     self.assertEqual(False, ui.options.partial)
     self.assertEqual(False, ui.options.other)
    def test_shows_errors_from_execute_returns_3(self):
        class FailCommand(commands.Command):
            def run(self):
                raise Exception("foo")

        ui = model.UI()
        cmd = FailCommand(ui)
        self.assertEqual(3, cmd.execute())
        self.assertEqual(1, len(ui.outputs))
        self.assertEqual('error', ui.outputs[0][0])
        self.assertThat(ui.outputs[0][1], MatchesException(Exception('foo')))
Exemple #3
0
def decorator_ui_factory(input_streams=None, options=(), args=()):
    base = model.UI(input_streams=input_streams, options=options, args=args)
    return decorator.UI(input_streams=input_streams, decorated=base)
 def test_default_repository_factory(self):
     cmd = commands.Command(model.UI())
     self.assertIsInstance(cmd.repository_factory, file.RepositoryFactory)
 def test_execute_calls_set_command(self):
     ui = model.UI()
     cmd = InstrumentedCommand(ui)
     cmd.execute()
     self.assertEqual(cmd, ui.cmd)
 def test_execute_calls_run(self):
     cmd = InstrumentedCommand(model.UI())
     self.assertEqual(0, cmd.execute())
     self.assertEqual(['execute', 'run'], cmd.calls)
 def test_trivial(self):
     cmd = InstrumentedCommand(model.UI())
     parser = commands.get_command_parser(cmd)
     self.assertThat(parser, IsInstance(optparse.OptionParser))