--- a/cubicweb/server/test/unittest_querier.py Thu Mar 12 15:38:51 2020 +0100
+++ b/cubicweb/server/test/unittest_querier.py Fri Mar 20 14:34:07 2020 +0100
@@ -1626,7 +1626,6 @@
'X in_state S, S name SN')
self.assertEqual(rset.rows, [[peid]])
-
def test_nonregr_sql_cache(self):
# different SQL generated when 'name' is None or not (IS NULL).
self.assertFalse(self.qexecute('Any X WHERE X is CWEType, X name %(name)s',
@@ -1634,6 +1633,24 @@
self.assertTrue(self.qexecute('Any X WHERE X is CWEType, X name %(name)s',
{'name': 'CWEType'}))
+ def test_variables_in_rset_for_select(self):
+ rset = self.qexecute('Any X WHERE X is CWUser, X eid %(x)s', {'x': self.ueid})
+ self.assertEqual(rset.variables, ['X'])
+
+ def test_only_selected_variables_in_rset(self):
+ rset = self.qexecute('Any X,Y WHERE X is Personne, Y is Personne, '
+ 'X nom XD, Y nom XD, X eid Z, Y eid > Z')
+ # Z is not selected
+ self.assertEqual(rset.variables, ['X', 'Y'])
+
+ def test_no_variables_in_rset(self):
+ rset = self.qexecute('Any COUNT(X) WHERE X is CWUser')
+ self.assertEqual(rset.variables, ['COUNT(X)'])
+
+ def test_mixed_projection_in_rset(self):
+ rset = self.qexecute('Any X,COUNT(X) WHERE X is CWUser')
+ self.assertEqual(rset.variables, ['X', 'COUNT(X)'])
+
class NonRegressionTC(CubicWebTC):