aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Compiler/Tests/TestTreePath.py
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:15 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:15 +0300
commit72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch)
treeda2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /contrib/tools/cython/Cython/Compiler/Tests/TestTreePath.py
parent778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff)
downloadydb-72cb13b4aff9bc9cf22e49251bc8fd143f82538f.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/tools/cython/Cython/Compiler/Tests/TestTreePath.py')
-rw-r--r--contrib/tools/cython/Cython/Compiler/Tests/TestTreePath.py116
1 files changed, 58 insertions, 58 deletions
diff --git a/contrib/tools/cython/Cython/Compiler/Tests/TestTreePath.py b/contrib/tools/cython/Cython/Compiler/Tests/TestTreePath.py
index bee53b3d2b..eb8e2389ba 100644
--- a/contrib/tools/cython/Cython/Compiler/Tests/TestTreePath.py
+++ b/contrib/tools/cython/Cython/Compiler/Tests/TestTreePath.py
@@ -1,94 +1,94 @@
-import unittest
-from Cython.Compiler.Visitor import PrintTree
-from Cython.TestUtils import TransformTest
-from Cython.Compiler.TreePath import find_first, find_all
-from Cython.Compiler import Nodes, ExprNodes
-
-class TestTreePath(TransformTest):
- _tree = None
-
- def _build_tree(self):
- if self._tree is None:
- self._tree = self.run_pipeline([], u"""
- def decorator(fun): # DefNode
- return fun # ReturnStatNode, NameNode
- @decorator # NameNode
- def decorated(): # DefNode
- pass
- """)
- return self._tree
-
- def test_node_path(self):
- t = self._build_tree()
+import unittest
+from Cython.Compiler.Visitor import PrintTree
+from Cython.TestUtils import TransformTest
+from Cython.Compiler.TreePath import find_first, find_all
+from Cython.Compiler import Nodes, ExprNodes
+
+class TestTreePath(TransformTest):
+ _tree = None
+
+ def _build_tree(self):
+ if self._tree is None:
+ self._tree = self.run_pipeline([], u"""
+ def decorator(fun): # DefNode
+ return fun # ReturnStatNode, NameNode
+ @decorator # NameNode
+ def decorated(): # DefNode
+ pass
+ """)
+ return self._tree
+
+ def test_node_path(self):
+ t = self._build_tree()
self.assertEqual(2, len(find_all(t, "//DefNode")))
self.assertEqual(2, len(find_all(t, "//NameNode")))
self.assertEqual(1, len(find_all(t, "//ReturnStatNode")))
self.assertEqual(1, len(find_all(t, "//DefNode//ReturnStatNode")))
-
- def test_node_path_star(self):
- t = self._build_tree()
+
+ def test_node_path_star(self):
+ t = self._build_tree()
self.assertEqual(10, len(find_all(t, "//*")))
self.assertEqual(8, len(find_all(t, "//DefNode//*")))
self.assertEqual(0, len(find_all(t, "//NameNode//*")))
-
- def test_node_path_attribute(self):
- t = self._build_tree()
+
+ def test_node_path_attribute(self):
+ t = self._build_tree()
self.assertEqual(2, len(find_all(t, "//NameNode/@name")))
self.assertEqual(['fun', 'decorator'], find_all(t, "//NameNode/@name"))
-
- def test_node_path_attribute_dotted(self):
- t = self._build_tree()
+
+ def test_node_path_attribute_dotted(self):
+ t = self._build_tree()
self.assertEqual(1, len(find_all(t, "//ReturnStatNode/@value.name")))
self.assertEqual(['fun'], find_all(t, "//ReturnStatNode/@value.name"))
-
- def test_node_path_child(self):
- t = self._build_tree()
+
+ def test_node_path_child(self):
+ t = self._build_tree()
self.assertEqual(1, len(find_all(t, "//DefNode/ReturnStatNode/NameNode")))
self.assertEqual(1, len(find_all(t, "//ReturnStatNode/NameNode")))
-
- def test_node_path_node_predicate(self):
- t = self._build_tree()
+
+ def test_node_path_node_predicate(self):
+ t = self._build_tree()
self.assertEqual(0, len(find_all(t, "//DefNode[.//ForInStatNode]")))
self.assertEqual(2, len(find_all(t, "//DefNode[.//NameNode]")))
self.assertEqual(1, len(find_all(t, "//ReturnStatNode[./NameNode]")))
self.assertEqual(Nodes.ReturnStatNode,
type(find_first(t, "//ReturnStatNode[./NameNode]")))
-
- def test_node_path_node_predicate_step(self):
- t = self._build_tree()
+
+ def test_node_path_node_predicate_step(self):
+ t = self._build_tree()
self.assertEqual(2, len(find_all(t, "//DefNode[.//NameNode]")))
self.assertEqual(8, len(find_all(t, "//DefNode[.//NameNode]//*")))
self.assertEqual(1, len(find_all(t, "//DefNode[.//NameNode]//ReturnStatNode")))
self.assertEqual(Nodes.ReturnStatNode,
type(find_first(t, "//DefNode[.//NameNode]//ReturnStatNode")))
-
- def test_node_path_attribute_exists(self):
- t = self._build_tree()
+
+ def test_node_path_attribute_exists(self):
+ t = self._build_tree()
self.assertEqual(2, len(find_all(t, "//NameNode[@name]")))
self.assertEqual(ExprNodes.NameNode,
type(find_first(t, "//NameNode[@name]")))
-
- def test_node_path_attribute_exists_not(self):
- t = self._build_tree()
+
+ def test_node_path_attribute_exists_not(self):
+ t = self._build_tree()
self.assertEqual(0, len(find_all(t, "//NameNode[not(@name)]")))
self.assertEqual(2, len(find_all(t, "//NameNode[not(@honking)]")))
-
- def test_node_path_and(self):
- t = self._build_tree()
+
+ def test_node_path_and(self):
+ t = self._build_tree()
self.assertEqual(1, len(find_all(t, "//DefNode[.//ReturnStatNode and .//NameNode]")))
self.assertEqual(0, len(find_all(t, "//NameNode[@honking and @name]")))
self.assertEqual(0, len(find_all(t, "//NameNode[@name and @honking]")))
self.assertEqual(2, len(find_all(t, "//DefNode[.//NameNode[@name] and @name]")))
-
- def test_node_path_attribute_string_predicate(self):
- t = self._build_tree()
+
+ def test_node_path_attribute_string_predicate(self):
+ t = self._build_tree()
self.assertEqual(1, len(find_all(t, "//NameNode[@name = 'decorator']")))
-
- def test_node_path_recursive_predicate(self):
- t = self._build_tree()
+
+ def test_node_path_recursive_predicate(self):
+ t = self._build_tree()
self.assertEqual(2, len(find_all(t, "//DefNode[.//NameNode[@name]]")))
self.assertEqual(1, len(find_all(t, "//DefNode[.//NameNode[@name = 'decorator']]")))
self.assertEqual(1, len(find_all(t, "//DefNode[.//ReturnStatNode[./NameNode[@name = 'fun']]/NameNode]")))
-
-if __name__ == '__main__':
- unittest.main()
+
+if __name__ == '__main__':
+ unittest.main()