fill3: Separate keypresses in input

- Stdin can contain more than one keypress when inputted quickly.
This commit is contained in:
Andrew Hamilton 2022-02-13 09:09:10 +10:00
parent a016a36f61
commit 2e3004cd13
2 changed files with 36 additions and 8 deletions

View file

@ -5,6 +5,7 @@
import unittest
import fill3
import fill3.terminal as terminal
class WidgetTests(unittest.TestCase):
@ -139,5 +140,17 @@ class WidgetTests(unittest.TestCase):
"B A")
class DigestTerminalInputTestCase(unittest.TestCase):
def test_digest_terminal_input(self):
self.assertRaises(UnboundLocalError, fill3.digest_terminal_input, "")
self.assertEqual(fill3.digest_terminal_input("a"), ["a"])
self.assertEqual(fill3.digest_terminal_input("ab"), ["ab"])
self.assertEqual(fill3.digest_terminal_input("a\nb"), ["a", "\n", "b"])
self.assertEqual(fill3.digest_terminal_input("a\tb"), ["a", "\t", "b"])
self.assertEqual(fill3.digest_terminal_input(terminal.UP * 2), [terminal.UP] * 2)
self.assertEqual(fill3.digest_terminal_input(terminal.CTRL_C * 2), [terminal.CTRL_C] * 2)
if __name__ == "__main__":
unittest.main()