From 91295c22eff10201049e4fb926680b3db9e11dde Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 18 Oct 2014 02:38:41 -0400 Subject: start adding tests --- t/__init__.py | 7 +++++++ t/basic_test.py | 15 +++++++++++++++ t/text_test.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 t/__init__.py create mode 100644 t/basic_test.py create mode 100644 t/text_test.py (limited to 't') diff --git a/t/__init__.py b/t/__init__.py new file mode 100644 index 0000000..560d9da --- /dev/null +++ b/t/__init__.py @@ -0,0 +1,7 @@ +import unittest + +import vt100 + +class VT100Test(unittest.TestCase): + def setUp(self): + self.vt = vt100.vt100(24, 80) diff --git a/t/basic_test.py b/t/basic_test.py new file mode 100644 index 0000000..cf790ba --- /dev/null +++ b/t/basic_test.py @@ -0,0 +1,15 @@ +import unittest + +import vt100 + +class BasicTest(unittest.TestCase): + def test_basic(self): + vt = vt100.vt100(24, 80) + string = b"foo\033[31m\033[32mb\033[3;7;42ma\033[23mr" + vt.process(string) + assert vt.get_string_plaintext(0, 0, 0, 50) == "foobar\n" + assert vt.cell(0, 0).fgcolor().color() is None + assert vt.cell(0, 3).fgcolor().color() == 2 + assert vt.cell(0, 4).fgcolor().color() == 2 + assert vt.cell(0, 4).bgcolor().color() == 2 + assert vt.cell(0, 4).italic() diff --git a/t/text_test.py b/t/text_test.py new file mode 100644 index 0000000..70ae05f --- /dev/null +++ b/t/text_test.py @@ -0,0 +1,53 @@ +from . import VT100Test + +class TextTest(VT100Test): + def test_ascii(self): + self.vt.process("foo") + assert self.vt.cell(0, 0).contents() == "f" + assert self.vt.cell(0, 1).contents() == "o" + assert self.vt.cell(0, 2).contents() == "o" + assert self.vt.cell(0, 3).contents() == "" + assert self.vt.cell(1, 0).contents() == "" + assert self.vt.get_string_plaintext(0, 0, 23, 79) == 'foo' + ('\n' * 24) + assert self.vt.get_string_plaintext(0, 0, 500, 500) == 'foo' + ('\n' * 24) + + def test_utf8(self): + self.vt.process("café") + assert self.vt.cell(0, 0).contents() == "c" + assert self.vt.cell(0, 1).contents() == "a" + assert self.vt.cell(0, 2).contents() == "f" + assert self.vt.cell(0, 3).contents() == "é" + assert self.vt.cell(0, 4).contents() == "" + assert self.vt.cell(1, 0).contents() == "" + assert self.vt.get_string_plaintext(0, 0, 23, 79) == 'café' + ('\n' * 24) + assert self.vt.get_string_plaintext(0, 0, 500, 500) == 'café' + ('\n' * 24) + + def test_newlines(self): + self.vt.process("f\r\noo\r\nood") + assert self.vt.cell(0, 0).contents() == "f" + assert self.vt.cell(0, 1).contents() == "" + assert self.vt.cell(0, 2).contents() == "" + assert self.vt.cell(1, 0).contents() == "o" + assert self.vt.cell(1, 1).contents() == "o" + assert self.vt.cell(1, 2).contents() == "" + assert self.vt.cell(2, 0).contents() == "o" + assert self.vt.cell(2, 1).contents() == "o" + assert self.vt.cell(2, 2).contents() == "d" + assert self.vt.cell(0, 3).contents() == "" + assert self.vt.cell(3, 0).contents() == "" + assert self.vt.get_string_plaintext(0, 0, 23, 79) == 'f\noo\nood' + ('\n' * 22) + assert self.vt.get_string_plaintext(0, 0, 500, 500) == 'f\noo\nood' + ('\n' * 22) + + def test_wide(self): + self.vt.process("aデbネ") + assert self.vt.cell(0, 0).contents() == "a" + assert self.vt.cell(0, 1).contents() == "デ" + assert self.vt.cell(0, 2).contents() == "" + assert self.vt.cell(0, 3).contents() == "b" + assert self.vt.cell(0, 4).contents() == "ネ" + assert self.vt.cell(0, 5).contents() == "" + assert self.vt.cell(0, 6).contents() == "" + assert self.vt.cell(1, 0).contents() == "" + print(self.vt.get_string_plaintext(0, 0, 0, 50)) + assert self.vt.get_string_plaintext(0, 0, 23, 79) == 'aデbネ' + ('\n' * 24) + assert self.vt.get_string_plaintext(0, 0, 500, 500) == 'aデbネ' + ('\n' * 24) -- cgit v1.2.3-54-g00ecf