示例#1
0
 def format(self, formatstr):
     return tabulate(formatstr % {
         'parents': self._parents(),
         'name': prettyprint(str(self.name)),
         'error': self._error(),
         'traceback': self._traceback(),
     }, ignore_first=True).rstrip() + '\n'
示例#2
0
 def _parents(self):
     if not self.parents:
         return ''
     sb = []
     for i, parent in enumerate(self.parents):
         if parent.name:
             sb.append(tabulate(prettyprint(parent.name), times=i))
     return '\n'.join(sb) + '\n'
示例#3
0
 def _stream(self, stream, name):
     sb = []
     line = '-' * 20
     sb.append('')
     sb.append(line + ('>> from %s <<' % name) + line)
     sb.append(stream)
     sb.append(line + ('>> end %s  <<' % name) + line)
     return tabulate('\n'.join(sb))
示例#4
0
 def test_tabulation_by_zero_times(self):
     self.assertEqual(tabulate('\n\nfoo', times=0), '\n\nfoo')
示例#5
0
 def test_tabulation_ignores_first_line(self):
     self.assertEqual(tabulate('foo\nbar', ignore_first=True), 'foo\n    bar')
示例#6
0
 def test_tabulation_does_not_insert_spaces_between_double_newlines(self):
     self.assertEqual(tabulate('\n\nfoo'), '\n\n    foo')
示例#7
0
 def test_tabulation_of_string(self):
     self.assertEqual(tabulate('foo\nbar'), '    foo\n    bar')
示例#8
0
 def __repr__(self):
     return "%s(%s, %s, \n%s)" % (
         self.__class__.__name__, self.name, self.parents,
         tabulate('\n'.join(map(repr, self.examples)))
     )
示例#9
0
 def format_with_parent_names(self, formatstr):
     return self._parents() + tabulate(self.format(formatstr), times=self._num_parents())