Просмотр исходного кода

Added function to get the index of a node in a Scope object.

Taddeus Kroes 14 лет назад
Родитель
Сommit
5f556a4e6c
2 измененных файлов с 8 добавлено и 0 удалено
  1. 3 0
      src/node.py
  2. 5 0
      tests/test_node.py

+ 3 - 0
src/node.py

@@ -572,6 +572,9 @@ class Scope(object):
     def __repr__(self):
         return '<Scope of "%s">' % repr(self.node)
 
+    def index(self, node):
+        return self.nodes.index(node)
+
     def remove(self, node, **kwargs):
         try:
             i = self.nodes.index(node)

+ 5 - 0
tests/test_node.py

@@ -110,6 +110,11 @@ class TestNode(RulesTestCase):
         root, a, b, cd = tree('a * b * -cd, a, b, -cd')
         self.assertEqual(get_scope(root), [a, b, cd])
 
+    def test_get_scope_index(self):
+        self.assertEqual(self.scope.index(self.a), 0)
+        self.assertEqual(self.scope.index(self.b), 1)
+        self.assertEqual(self.scope.index(self.cd), 2)
+
     def test_equals_node_leaf(self):
         a, b = plus = tree('a + b')