Beispiel #1
0
    def test_insert(self):
        with taddons.context() as tctx:
            history = commander.CommandHistory(tctx.master, size=3)
            edit = commander.CommandEdit(tctx.master, '', history)
            edit.keypress(1, 'a')
            assert edit.get_edit_text() == 'a'

            # Don't let users type a space before starting a command
            # as a usability feature
            history = commander.CommandHistory(tctx.master, size=3)
            edit = commander.CommandEdit(tctx.master, '', history)
            edit.keypress(1, ' ')
            assert edit.get_edit_text() == ''
Beispiel #2
0
 def fill_history(self, commands):
     with taddons.context() as tctx:
         history = commander.CommandHistory(tctx.master, size=3)
         for c in commands:
             cbuf = commander.CommandBuffer(tctx.master, c)
             history.add_command(cbuf)
     return history, tctx.master
Beispiel #3
0
 def test_backspace(self):
     with taddons.context() as tctx:
         history = commander.CommandHistory(tctx.master, size=3)
         edit = commander.CommandEdit(tctx.master, '', history)
         edit.keypress(1, 'a')
         edit.keypress(1, 'b')
         assert edit.get_edit_text() == 'ab'
         edit.keypress(1, 'backspace')
         assert edit.get_edit_text() == 'a'
Beispiel #4
0
    def test_open_command_bar(self):
        with taddons.context() as tctx:
            history = commander.CommandHistory(tctx.master, size=3)
            edit = commander.CommandEdit(tctx.master, '', history)

            try:
                edit.update()
            except IndexError:
                pytest.faied("Unexpected IndexError")
Beispiel #5
0
    def test_left(self):
        with taddons.context() as tctx:
            history = commander.CommandHistory(tctx.master, size=3)
            edit = commander.CommandEdit(tctx.master, '', history)
            edit.keypress(1, 'a')
            assert edit.cbuf.cursor == 1
            edit.keypress(1, 'left')
            assert edit.cbuf.cursor == 0

            # Do it again to make sure it won't go negative
            edit.keypress(1, 'left')
            assert edit.cbuf.cursor == 0
Beispiel #6
0
    def test_up_and_down(self):
        with taddons.context() as tctx:
            history = commander.CommandHistory(tctx.master, size=3)
            edit = commander.CommandEdit(tctx.master, '', history)

            buf = commander.CommandBuffer(tctx.master, 'cmd1')
            history.add_command(buf)
            buf = commander.CommandBuffer(tctx.master, 'cmd2')
            history.add_command(buf)

            edit.keypress(1, 'up')
            assert edit.get_edit_text() == 'cmd2'
            edit.keypress(1, 'up')
            assert edit.get_edit_text() == 'cmd1'
            edit.keypress(1, 'up')
            assert edit.get_edit_text() == 'cmd1'

            history = commander.CommandHistory(tctx.master, size=5)
            edit = commander.CommandEdit(tctx.master, '', history)
            edit.keypress(1, 'a')
            edit.keypress(1, 'b')
            edit.keypress(1, 'c')
            assert edit.get_edit_text() == 'abc'
            edit.keypress(1, 'up')
            assert edit.get_edit_text() == ''
            edit.keypress(1, 'down')
            assert edit.get_edit_text() == 'abc'
            edit.keypress(1, 'down')
            assert edit.get_edit_text() == 'abc'

            history = commander.CommandHistory(tctx.master, size=5)
            edit = commander.CommandEdit(tctx.master, '', history)
            buf = commander.CommandBuffer(tctx.master, 'cmd3')
            history.add_command(buf)
            edit.keypress(1, 'z')
            edit.keypress(1, 'up')
            assert edit.get_edit_text() == 'cmd3'
            edit.keypress(1, 'down')
            assert edit.get_edit_text() == 'z'
Beispiel #7
0
    def __init__(self, master):
        self.master = master
        urwid.WidgetWrap.__init__(self, None)
        self.clear()
        signals.status_message.connect(self.sig_message)
        signals.status_prompt.connect(self.sig_prompt)
        signals.status_prompt_onekey.connect(self.sig_prompt_onekey)
        signals.status_prompt_command.connect(self.sig_prompt_command)

        self.command_history = commander.CommandHistory(master)

        self.prompting = None

        self.onekey = False
Beispiel #8
0
    def test_right(self):
        with taddons.context() as tctx:
            history = commander.CommandHistory(tctx.master, size=3)
            edit = commander.CommandEdit(tctx.master, '', history)
            edit.keypress(1, 'a')
            assert edit.cbuf.cursor == 1

            # Make sure cursor won't go past the text
            edit.keypress(1, 'right')
            assert edit.cbuf.cursor == 1

            # Make sure cursor goes left and then back right
            edit.keypress(1, 'left')
            assert edit.cbuf.cursor == 0
            edit.keypress(1, 'right')
            assert edit.cbuf.cursor == 1
Beispiel #9
0
    def test_cycle_completion(self):
        with taddons.context() as tctx:
            cb = commander.CommandBuffer(tctx.master)
            cb.text = "foo bar"
            cb.cursor = len(cb.text)
            cb.cycle_completion()

            ch = commander.CommandHistory(tctx.master, 30)
            ce = commander.CommandEdit(tctx.master, "se", ch)
            ce.keypress(1, 'tab')
            ce.update()
            ret = ce.cbuf.render()
            assert ret == [
                ('commander_command', 'set'),
                ('text', ' '),
                ('commander_hint', 'option '),
                ('commander_hint', 'value '),
            ]