diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-10-18 02:38:41 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-10-18 02:38:41 -0400 |
commit | 91295c22eff10201049e4fb926680b3db9e11dde (patch) | |
tree | 7eadb4be2dd30ba35e58bda6614c03880a7cc6ed /t | |
parent | 5ab52ce39d2f89d6aa7bdec1248c4ceafd9c7893 (diff) | |
download | libvt100-python-91295c22eff10201049e4fb926680b3db9e11dde.tar.gz libvt100-python-91295c22eff10201049e4fb926680b3db9e11dde.zip |
start adding tests
Diffstat (limited to 't')
-rw-r--r-- | t/__init__.py | 7 | ||||
-rw-r--r-- | t/basic_test.py | 15 | ||||
-rw-r--r-- | t/text_test.py | 53 |
3 files changed, 75 insertions, 0 deletions
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) |