Show More
@@ -38,7 +38,7 b" CSI_SUBPATTERN = '\\[(.*?)([%s])' % CSI_COMMANDS" | |||||
38 | OSC_SUBPATTERN = '\](.*?)[\x07\x1b]' |
|
38 | OSC_SUBPATTERN = '\](.*?)[\x07\x1b]' | |
39 | ANSI_PATTERN = ('\x01?\x1b(%s|%s)\x02?' % \ |
|
39 | ANSI_PATTERN = ('\x01?\x1b(%s|%s)\x02?' % \ | |
40 | (CSI_SUBPATTERN, OSC_SUBPATTERN)) |
|
40 | (CSI_SUBPATTERN, OSC_SUBPATTERN)) | |
41 | ANSI_OR_SPECIAL_PATTERN = re.compile('(\b|\r)|(?:%s)' % ANSI_PATTERN) |
|
41 | ANSI_OR_SPECIAL_PATTERN = re.compile('(\b|\r(?!\n))|(?:%s)' % ANSI_PATTERN) | |
42 | SPECIAL_PATTERN = re.compile('([\f])') |
|
42 | SPECIAL_PATTERN = re.compile('([\f])') | |
43 |
|
43 | |||
44 | #----------------------------------------------------------------------------- |
|
44 | #----------------------------------------------------------------------------- |
@@ -105,12 +105,21 b' class TestAnsiCodeProcessor(unittest.TestCase):' | |||||
105 | def test_carriage_return(self): |
|
105 | def test_carriage_return(self): | |
106 | """ Are carriage return characters processed correctly? |
|
106 | """ Are carriage return characters processed correctly? | |
107 | """ |
|
107 | """ | |
108 |
string = 'foo\rbar' # |
|
108 | string = 'foo\rbar' # carriage return | |
109 | self.assertEquals(list(self.processor.split_string(string)), ['foo', '', 'bar']) |
|
109 | self.assertEquals(list(self.processor.split_string(string)), ['foo', '', 'bar']) | |
110 | self.assertEquals(len(self.processor.actions), 1) |
|
110 | self.assertEquals(len(self.processor.actions), 1) | |
111 | action = self.processor.actions[0] |
|
111 | action = self.processor.actions[0] | |
112 | self.assertEquals(action.action, 'carriage-return') |
|
112 | self.assertEquals(action.action, 'carriage-return') | |
113 |
|
113 | |||
|
114 | def test_carriage_return_newline(self): | |||
|
115 | """transform CRLF to LF""" | |||
|
116 | string = 'foo\rbar\r\ncat\r\n' # carriage return and newline | |||
|
117 | # only one CR action should occur, and '\r\n' should transform to '\n' | |||
|
118 | self.assertEquals(list(self.processor.split_string(string)), ['foo', '', 'bar\r\ncat\r\n']) | |||
|
119 | self.assertEquals(len(self.processor.actions), 1) | |||
|
120 | action = self.processor.actions[0] | |||
|
121 | self.assertEquals(action.action, 'carriage-return') | |||
|
122 | ||||
114 | def test_beep(self): |
|
123 | def test_beep(self): | |
115 | """ Are beep characters processed correctly? |
|
124 | """ Are beep characters processed correctly? | |
116 | """ |
|
125 | """ |
General Comments 0
You need to be logged in to leave comments.
Login now