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() == ''
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
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'
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")
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
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'
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
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
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 '), ]