backport stable
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Fri, 21 Oct 2011 11:36:30 +0200
changeset 7986 552d41237156
parent 7981 676fd5b30c6a (current diff)
parent 7985 6bc604289b15 (diff)
child 7988 d72a2881d53c
backport stable
__pkginfo__.py
selectors.py
test/unittest_selectors.py
--- a/.hgtags	Fri Oct 21 09:24:51 2011 +0200
+++ b/.hgtags	Fri Oct 21 11:36:30 2011 +0200
@@ -231,3 +231,5 @@
 2f93ce32febe2f82565994fbd454f331f76ca883 cubicweb-debian-version-3.13.7-1
 249bd41693392d4716686f05c6b84628cd14dfcd cubicweb-version-3.13.8
 43f83f5d0a4d57a06e9a4990bc957fcfa691eec3 cubicweb-debian-version-3.13.8-1
+07afe32945aa275052747f78ef1f55858aaf6fa9 cubicweb-version-3.13.9
+0a3cb5e60d57a7a9851371b4ae487094ec2bf614 cubicweb-debian-version-3.13.9-1
--- a/debian/changelog	Fri Oct 21 09:24:51 2011 +0200
+++ b/debian/changelog	Fri Oct 21 11:36:30 2011 +0200
@@ -1,3 +1,9 @@
+cubicweb (3.13.9-1) unstable; urgency=low
+
+  * new upstream release
+
+ -- Sylvain Thénault <sylvain.thenault@logilab.fr>  Fri, 21 Oct 2011 11:03:45 +0200
+
 cubicweb (3.13.8-1) unstable; urgency=low
 
   * new upstream release
--- a/selectors.py	Fri Oct 21 09:24:51 2011 +0200
+++ b/selectors.py	Fri Oct 21 11:36:30 2011 +0200
@@ -309,7 +309,7 @@
         else:
             etype = rset.description[row][col]
             # may have None in rset.description on outer join
-            if etype is None:
+            if etype is None or rset.rows[row][col] is None:
                 return 0
             etypes = (etype,)
         score = 0
--- a/test/unittest_selectors.py	Fri Oct 21 09:24:51 2011 +0200
+++ b/test/unittest_selectors.py	Fri Oct 21 11:36:30 2011 +0200
@@ -164,6 +164,12 @@
         self.assertEqual(is_instance('BaseTransition').score_class(cls, self.request()),
                           3)
 
+    def test_outer_join(self):
+        req = self.request()
+        rset = req.execute('Any U,B WHERE B? bookmarked_by U, U login "anon"')
+        self.assertEqual(is_instance('Bookmark')(None, req, rset=rset, row=0, col=1),
+                         0)
+
 
 class WorkflowSelectorTC(CubicWebTC):
     def _commit(self):