Esempio n. 1
0
    def test_paste_threshold(self):
        eg = EventGenerator(list('abc'))
        cb = combined_events(eg, paste_threshold=3)
        e = next(cb)
        self.assertIsInstance(e, curtsies.events.PasteEvent)
        self.assertEqual(e.events, list('abc'))
        self.assertEqual(next(cb), None)

        eg = EventGenerator(list('abc'))
        cb = combined_events(eg, paste_threshold=4)
        self.assertEqual(next(cb), 'a')
        self.assertEqual(next(cb), 'b')
        self.assertEqual(next(cb), 'c')
        self.assertEqual(next(cb), None)
Esempio n. 2
0
 def test_set_timeout(self):
     eg = EventGenerator('a', zip('bcdefg', [1, 2, 3, 3, 3, 4]))
     eg.schedule_event(curtsies.events.SigIntEvent(), 5)
     eg.schedule_event('h', 6)
     cb = combined_events(eg, paste_threshold=3)
     self.assertEqual(next(cb), 'a')
     self.assertEqual(cb.send(0), None)
     self.assertEqual(next(cb), 'b')
     self.assertEqual(cb.send(0), None)
     eg.tick()
     self.assertEqual(cb.send(0), 'c')
     self.assertEqual(cb.send(0), None)
     eg.tick()
     self.assertIsInstance(cb.send(0), curtsies.events.PasteEvent)
     self.assertEqual(cb.send(0), None)
     self.assertEqual(cb.send(None), 'g')
     self.assertEqual(cb.send(0), None)
     eg.tick(1)
     self.assertIsInstance(cb.send(0), curtsies.events.SigIntEvent)
     self.assertEqual(cb.send(0), None)
     self.assertEqual(cb.send(None), 'h')
     self.assertEqual(cb.send(None), None)
Esempio n. 3
0
 def test_set_timeout(self):
     eg = EventGenerator("a", zip("bcdefg", [1, 2, 3, 3, 3, 4]))
     eg.schedule_event(curtsies.events.SigIntEvent(), 5)
     eg.schedule_event("h", 6)
     cb = combined_events(eg, paste_threshold=3)
     self.assertEqual(next(cb), "a")
     self.assertEqual(cb.send(0), None)
     self.assertEqual(next(cb), "b")
     self.assertEqual(cb.send(0), None)
     eg.tick()
     self.assertEqual(cb.send(0), "c")
     self.assertEqual(cb.send(0), None)
     eg.tick()
     self.assertIsInstance(cb.send(0), curtsies.events.PasteEvent)
     self.assertEqual(cb.send(0), None)
     self.assertEqual(cb.send(None), "g")
     self.assertEqual(cb.send(0), None)
     eg.tick(1)
     self.assertIsInstance(cb.send(0), curtsies.events.SigIntEvent)
     self.assertEqual(cb.send(0), None)
     self.assertEqual(cb.send(None), "h")
     self.assertEqual(cb.send(None), None)
Esempio n. 4
0
def _mainloop(_repl):
    def loop_handler():
        nonlocal event
        for _, result in _command_line_event.send(event):
            if not result:
                continue
            _repl.process_event_and_paint('<Ctrl-j>')
            break
        else:
            _repl.process_event_and_paint(event)  # pylint: disable=undefined-loop-variable

    _repl.initialize_interp()
    _repl.process_event(bpythonevents.RunStartupFileEvent())

    # do a display before waiting for first event
    _repl.process_event_and_paint(None)
    inputs = combined_events(_repl.input_generator)
    for _ in find_iterator:
        event = inputs.send(0)
        if event is not None:
            loop_handler()

    for event in inputs:
        loop_handler()