aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-10-20 22:54:07 -0400
committerJesse Luehrs <doy@tozt.net>2014-10-20 22:54:07 -0400
commit75f19a202404ca6bd05021592ba608fe51797fad (patch)
treed7fd6926afab923d04de8df136c20a5d6731826a
parent94e9d141da6327a670cb41571e752f9bd22953f9 (diff)
downloadlibvt100-python-75f19a202404ca6bd05021592ba608fe51797fad.tar.gz
libvt100-python-75f19a202404ca6bd05021592ba608fe51797fad.zip
add tests for movement commands
-rw-r--r--t/csi_test.py74
1 files changed, 74 insertions, 0 deletions
diff --git a/t/csi_test.py b/t/csi_test.py
new file mode 100644
index 0000000..44d207c
--- /dev/null
+++ b/t/csi_test.py
@@ -0,0 +1,74 @@
+from . import VT100Test
+
+class CSITest(VT100Test):
+ def test_cup(self):
+ assert self.vt.cursor_pos() == (0, 0)
+
+ self.process("\033[10;10H")
+ assert self.vt.cursor_pos() == (9, 9)
+
+ self.process("\033[H")
+ assert self.vt.cursor_pos() == (0, 0)
+
+ self.process("\033[8H")
+ assert self.vt.cursor_pos() == (7, 0)
+
+ self.process("\033[0;0H")
+ assert self.vt.cursor_pos() == (0, 0)
+
+ self.process("\033[1;1H")
+ assert self.vt.cursor_pos() == (0, 0)
+
+ self.process("\033[500;500H")
+ assert self.vt.cursor_pos() == (23, 79)
+
+ def test_directional_movement(self):
+ assert self.vt.cursor_pos() == (0, 0)
+
+ self.process("\033[C")
+ assert self.vt.cursor_pos() == (0, 1)
+
+ self.process("\033[C")
+ assert self.vt.cursor_pos() == (0, 2)
+
+ self.process("\033[20C")
+ assert self.vt.cursor_pos() == (0, 22)
+
+ self.process("\033[D")
+ assert self.vt.cursor_pos() == (0, 21)
+
+ self.process("\033[D")
+ assert self.vt.cursor_pos() == (0, 20)
+
+ self.process("\033[9D")
+ assert self.vt.cursor_pos() == (0, 11)
+
+ self.process("\033[500C")
+ assert self.vt.cursor_pos() == (0, 79)
+
+ self.process("\033[500D")
+ assert self.vt.cursor_pos() == (0, 0)
+
+ self.process("\033[B")
+ assert self.vt.cursor_pos() == (1, 0)
+
+ self.process("\033[B")
+ assert self.vt.cursor_pos() == (2, 0)
+
+ self.process("\033[20B")
+ assert self.vt.cursor_pos() == (22, 0)
+
+ self.process("\033[A")
+ assert self.vt.cursor_pos() == (21, 0)
+
+ self.process("\033[A")
+ assert self.vt.cursor_pos() == (20, 0)
+
+ self.process("\033[9A")
+ assert self.vt.cursor_pos() == (11, 0)
+
+ self.process("\033[500B")
+ assert self.vt.cursor_pos() == (23, 0)
+
+ self.process("\033[500A")
+ assert self.vt.cursor_pos() == (0, 0)