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'
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'
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))
def test_tabulation_by_zero_times(self): self.assertEqual(tabulate('\n\nfoo', times=0), '\n\nfoo')
def test_tabulation_ignores_first_line(self): self.assertEqual(tabulate('foo\nbar', ignore_first=True), 'foo\n bar')
def test_tabulation_does_not_insert_spaces_between_double_newlines(self): self.assertEqual(tabulate('\n\nfoo'), '\n\n foo')
def test_tabulation_of_string(self): self.assertEqual(tabulate('foo\nbar'), ' foo\n bar')
def __repr__(self): return "%s(%s, %s, \n%s)" % ( self.__class__.__name__, self.name, self.parents, tabulate('\n'.join(map(repr, self.examples))) )
def format_with_parent_names(self, formatstr): return self._parents() + tabulate(self.format(formatstr), times=self._num_parents())