[pypy-svn] rev 2466 - in pypy/trunk/src/pypy/annotation: . test

arigo at codespeak.net arigo at codespeak.net
Thu Dec 18 10:09:13 CET 2003


Author: arigo
Date: Thu Dec 18 10:09:12 2003
New Revision: 2466

Modified:
   pypy/trunk/src/pypy/annotation/annset.py
   pypy/trunk/src/pypy/annotation/test/test_annset.py
Log:
'blackholevalue' in queries.


Modified: pypy/trunk/src/pypy/annotation/annset.py
==============================================================================
--- pypy/trunk/src/pypy/annotation/annset.py	(original)
+++ pypy/trunk/src/pypy/annotation/annset.py	Thu Dec 18 10:09:12 2003
@@ -76,7 +76,7 @@
         """ yield annotations matching the given queryannotation. """
         self.normalizeann(queryann)
         testindices = [i for i in range(queryann.predicate.arity)
-                             if queryann.args[i] is not QUERYARG]
+                             if isinstance(queryann.args[i], SomeValue)]
         for ann in self.annlist:
             if ann.predicate == queryann.predicate:
                 for i in testindices:

Modified: pypy/trunk/src/pypy/annotation/test/test_annset.py
==============================================================================
--- pypy/trunk/src/pypy/annotation/test/test_annset.py	(original)
+++ pypy/trunk/src/pypy/annotation/test/test_annset.py	Thu Dec 18 10:09:12 2003
@@ -88,6 +88,25 @@
         clist = a.query(ANN.constant(42)[QUERYARG])
         self.assertEquals(clist, [c1])
 
+    def test_query_blackholevalue(self):
+        lst = [
+            ANN.add[c1, c3, c2],
+            ANN.add[c1, c2, c4],
+            ANN.type[c2, c4],
+            ANN.type[c2, c3],
+        ]
+        a = AnnotationSet(lst)
+        clist = a.query(ANN.add[c1, ..., QUERYARG])
+        clist.sort()
+        expected = [c2, c4]
+        expected.sort()
+        self.assertEquals(clist, expected)
+        clist = a.query(ANN.add[c2, ..., QUERYARG])
+        self.assertEquals(clist, [])
+        clist = a.query(ANN.type[c2, QUERYARG],
+                        ANN.add[c1, QUERYARG, ...])
+        self.assertEquals(clist, [c3])
+
     def test_simplify(self):
         lst = [ANN.add[c1, c3, c2],
                ANN.add[c1, c2, c2],


More information about the Pypy-commit mailing list