cubicweb/test/unittest_rqlrewrite.py
changeset 11250 597f02c5cf5a
parent 11057 0b59724cb3f2
child 11269 73ac69970047
equal deleted inserted replaced
11249:0ff4c02a1871 11250:597f02c5cf5a
    75                     or snippet
    75                     or snippet
    76                     for snippet in exprs]
    76                     for snippet in exprs]
    77         snippets.append((dict([v]), rqlexprs))
    77         snippets.append((dict([v]), rqlexprs))
    78     rqlhelper.compute_solutions(rqlst.children[0], {'eid': eid_func_map}, kwargs=kwargs)
    78     rqlhelper.compute_solutions(rqlst.children[0], {'eid': eid_func_map}, kwargs=kwargs)
    79     rewriter.rewrite(rqlst.children[0], snippets, kwargs, existingvars)
    79     rewriter.rewrite(rqlst.children[0], snippets, kwargs, existingvars)
    80     test_vrefs(rqlst.children[0])
    80     check_vrefs(rqlst.children[0])
    81     return rewriter.rewritten
    81     return rewriter.rewritten
    82 
    82 
    83 def test_vrefs(node):
    83 def check_vrefs(node):
    84     vrefmaps = {}
    84     vrefmaps = {}
    85     selects = []
    85     selects = []
    86     for vref in node.iget_nodes(nodes.VariableRef):
    86     for vref in node.iget_nodes(nodes.VariableRef):
    87         stmt = vref.stmt
    87         stmt = vref.stmt
    88         try:
    88         try:
   806     rewriter = _prepare_rewriter(rqlrewrite.RQLRelationRewriter, kwargs)
   806     rewriter = _prepare_rewriter(rqlrewrite.RQLRelationRewriter, kwargs)
   807     rqlhelper.compute_solutions(rqlst.children[0], {'eid': eid_func_map},
   807     rqlhelper.compute_solutions(rqlst.children[0], {'eid': eid_func_map},
   808                                 kwargs=kwargs)
   808                                 kwargs=kwargs)
   809     rewriter.rewrite(rqlst)
   809     rewriter.rewrite(rqlst)
   810     for select in rqlst.children:
   810     for select in rqlst.children:
   811         test_vrefs(select)
   811         check_vrefs(select)
   812     return rewriter.rewritten
   812     return rewriter.rewritten
   813 
   813 
   814 
   814 
   815 if __name__ == '__main__':
   815 if __name__ == '__main__':
   816     unittest_main()
   816     unittest_main()