def test_previous_key_sequence(processor, handlers): """ test whether we receive the correct previous_key_sequence. """ events = [] def handler(event): events.append(event) # Build registry. registry = Registry() registry.add_binding('a', 'a')(handler) registry.add_binding('b', 'b')(handler) processor = InputProcessor(registry, lambda: None) # Create processor and feed keys. processor.feed(KeyPress('a', 'a')) processor.feed(KeyPress('a', 'a')) processor.feed(KeyPress('b', 'b')) processor.feed(KeyPress('b', 'b')) processor.process_keys() # Test. assert len(events) == 2 assert len(events[0].key_sequence) == 2 assert events[0].key_sequence[0].key == 'a' assert events[0].key_sequence[0].data == 'a' assert events[0].key_sequence[1].key == 'a' assert events[0].key_sequence[1].data == 'a' assert events[0].previous_key_sequence == [] assert len(events[1].key_sequence) == 2 assert events[1].key_sequence[0].key == 'b' assert events[1].key_sequence[0].data == 'b' assert events[1].key_sequence[1].key == 'b' assert events[1].key_sequence[1].data == 'b' assert len(events[1].previous_key_sequence) == 2 assert events[1].previous_key_sequence[0].key == 'a' assert events[1].previous_key_sequence[0].data == 'a' assert events[1].previous_key_sequence[1].key == 'a' assert events[1].previous_key_sequence[1].data == 'a'
def setUp(self): class Handlers(object): def __init__(self): self.called = [] def __getattr__(self, name): def func(event): self.called.append(name) return func self.handlers = Handlers() self.registry = Registry() self.registry.add_binding(Keys.ControlX, Keys.ControlC)( self.handlers.controlx_controlc) self.registry.add_binding(Keys.ControlX)(self.handlers.control_x) self.registry.add_binding(Keys.ControlD)(self.handlers.control_d) self.registry.add_binding(Keys.ControlSquareClose, Keys.Any)( self.handlers.control_square_close_any) self.processor = InputProcessor(self.registry, lambda: None)
def processor(registry): return InputProcessor(registry, lambda: None)