From 2b01a56de9184b9e2112b6ed75f70d1a46ffd198 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 20 Oct 2014 17:55:40 -0400 Subject: tests for incomplete character sequences --- t/processing_test.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 t/processing_test.py diff --git a/t/processing_test.py b/t/processing_test.py new file mode 100644 index 0000000..20b028b --- /dev/null +++ b/t/processing_test.py @@ -0,0 +1,55 @@ +from . import VT100Test + +class ProcessingTest(VT100Test): + def test_split_escape_sequences(self): + assert self.vt.process("abc") == 3 + assert self.vt.process("abc\033[12;24Hdef") == 14 + + assert self.vt.process("\033") == 0 + assert self.vt.process("\033[") == 0 + assert self.vt.process("\033[1") == 0 + assert self.vt.process("\033[12") == 0 + assert self.vt.process("\033[12;") == 0 + assert self.vt.process("\033[12;2") == 0 + assert self.vt.process("\033[12;24") == 0 + assert self.vt.process("\033[12;24H") == 8 + + assert self.vt.process("abc\033") == 3 + assert self.vt.process("abc\033[") == 3 + assert self.vt.process("abc\033[1") == 3 + assert self.vt.process("abc\033[12") == 3 + assert self.vt.process("abc\033[12;") == 3 + assert self.vt.process("abc\033[12;2") == 3 + assert self.vt.process("abc\033[12;24") == 3 + assert self.vt.process("abc\033[12;24H") == 11 + + assert self.vt.process("\033]") == 0 + assert self.vt.process("\033]4") == 0 + assert self.vt.process("\033]49") == 0 + assert self.vt.process("\033]499") == 0 + assert self.vt.process("\033]499;") == 0 + assert self.vt.process("\033]499;a") == 0 + assert self.vt.process("\033]499;a ") == 0 + assert self.vt.process("\033]499;a '") == 0 + assert self.vt.process("\033]499;a '[") == 0 + assert self.vt.process("\033]499;a '[]") == 0 + assert self.vt.process("\033]499;a '[]_") == 0 + assert self.vt.process("\033]499;a '[]_\007") == 13 + + def test_split_utf8(self): + assert self.vt.process("a") == 1 + + assert self.vt.process(b"\303") == 0 + assert self.vt.process(b"\303\241") == 2 + assert self.vt.process("á") == 2 + + assert self.vt.process(b"\343") == 0 + assert self.vt.process(b"\343\202") == 0 + assert self.vt.process(b"\343\202\255") == 3 + assert self.vt.process("キ") == 3 + + assert self.vt.process(b"\360") == 0 + assert self.vt.process(b"\360\237") == 0 + assert self.vt.process(b"\360\237\222") == 0 + assert self.vt.process(b"\360\237\222\251") == 4 + assert self.vt.process("💩") == 4 -- cgit v1.2.3