Add the tests for checking the libyaml bug.
[pyyaml/python3.git] / tests / test_mark.py
blob4fa665eaa7f80505b75256b07724a07c072f62cb
2 import test_appliance
4 from yaml.reader import Mark
6 class TestMark(test_appliance.TestAppliance):
8 def _testMarks(self, test_name, marks_filename):
9 inputs = file(marks_filename, 'rb').read().split('---\n')[1:]
10 for input in inputs:
11 index = 0
12 line = 0
13 column = 0
14 while input[index] != '*':
15 if input[index] == '\n':
16 line += 1
17 column = 0
18 else:
19 column += 1
20 index += 1
21 mark = Mark(test_name, index, line, column, unicode(input), index)
22 snippet = mark.get_snippet(indent=2, max_length=79)
23 #print "INPUT:"
24 #print input
25 #print "SNIPPET:"
26 #print snippet
27 self.failUnless(isinstance(snippet, str))
28 self.failUnlessEqual(snippet.count('\n'), 1)
29 data, pointer = snippet.split('\n')
30 self.failUnless(len(data) < 82)
31 self.failUnlessEqual(data[len(pointer)-1], '*')
33 TestMark.add_tests('testMarks', '.marks')