| @@ -124,7 +124,7 @@ class Token(Str): | |||||
| return (self.__class__, (self.type, self.value, self.pos_in_stream, self.line, self.column, )) | return (self.__class__, (self.type, self.value, self.pos_in_stream, self.line, self.column, )) | ||||
| def __repr__(self): | def __repr__(self): | ||||
| return 'Token(%s, %r)' % (self.type, self.value) | |||||
| return 'Token(%r, %r)' % (self.type, self.value) | |||||
| def __deepcopy__(self, memo): | def __deepcopy__(self, memo): | ||||
| return Token(self.type, self.value, self.pos_in_stream, self.line, self.column) | return Token(self.type, self.value, self.pos_in_stream, self.line, self.column) | ||||
| @@ -25,7 +25,7 @@ class Tree(object): | |||||
| return self._meta | return self._meta | ||||
| def __repr__(self): | def __repr__(self): | ||||
| return 'Tree(%s, %s)' % (self.data, self.children) | |||||
| return 'Tree(%r, %r)' % (self.data, self.children) | |||||
| def _pretty_label(self): | def _pretty_label(self): | ||||
| return self.data | return self.data | ||||
| @@ -172,4 +172,3 @@ def pydot__tree_to_png(tree, filename, rankdir="LR", **kwargs): | |||||
| _to_pydot(tree) | _to_pydot(tree) | ||||
| graph.write_png(filename) | graph.write_png(filename) | ||||
| @@ -7,6 +7,7 @@ import pickle | |||||
| import functools | import functools | ||||
| from lark.tree import Tree | from lark.tree import Tree | ||||
| from lark.lexer import Token | |||||
| from lark.visitors import Visitor, Visitor_Recursive, Transformer, Interpreter, visit_children_decor, v_args, Discard | from lark.visitors import Visitor, Visitor_Recursive, Transformer, Interpreter, visit_children_decor, v_args, Discard | ||||
| @@ -22,6 +23,9 @@ class TestTrees(TestCase): | |||||
| data = pickle.dumps(s) | data = pickle.dumps(s) | ||||
| assert pickle.loads(data) == s | assert pickle.loads(data) == s | ||||
| def test_repr_runnable(self): | |||||
| assert self.tree1 == eval(repr(self.tree1)) | |||||
| def test_iter_subtrees(self): | def test_iter_subtrees(self): | ||||
| expected = [Tree('b', 'x'), Tree('c', 'y'), Tree('d', 'z'), | expected = [Tree('b', 'x'), Tree('c', 'y'), Tree('d', 'z'), | ||||
| Tree('a', [Tree('b', 'x'), Tree('c', 'y'), Tree('d', 'z')])] | Tree('a', [Tree('b', 'x'), Tree('c', 'y'), Tree('d', 'z')])] | ||||
| @@ -232,4 +236,3 @@ class TestTrees(TestCase): | |||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||
| unittest.main() | unittest.main() | ||||