test_ansi_code_processor.py
32 lines
| 1.0 KiB
| text/x-python
|
PythonLexer
epatters
|
r2716 | # Standard library imports | ||
import unittest | ||||
# Local imports | ||||
from IPython.frontend.qt.console.ansi_code_processor import AnsiCodeProcessor | ||||
class TestAnsiCodeProcessor(unittest.TestCase): | ||||
def setUp(self): | ||||
self.processor = AnsiCodeProcessor() | ||||
def testColors(self): | ||||
string = "first\x1b[34mblue\x1b[0mlast" | ||||
i = -1 | ||||
for i, substring in enumerate(self.processor.split_string(string)): | ||||
if i == 0: | ||||
self.assertEquals(substring, 'first') | ||||
self.assertEquals(self.processor.foreground_color, None) | ||||
elif i == 1: | ||||
self.assertEquals(substring, 'blue') | ||||
self.assertEquals(self.processor.foreground_color, 4) | ||||
elif i == 2: | ||||
self.assertEquals(substring, 'last') | ||||
self.assertEquals(self.processor.foreground_color, None) | ||||
else: | ||||
self.fail("Too many substrings.") | ||||
self.assertEquals(i, 2, "Too few substrings.") | ||||
if __name__ == '__main__': | ||||
unittest.main() | ||||