def test_token_before_filter(): query = these((parent, child) for parent in this if parent.children for child in parent.children if child.age < 5 for dummy in parent.children) parent, child = query.selection parent_token, children_token, dummy_token = query.tokens expr1, expr2 = query.filters def ok(e1, e2): with context(UNPROXIFING_CONTEXT): assert e1 == e2 ok(expr1, parent.children) ok(expr2, child.age < 5) assert UNPROXIFING_CONTEXT not in context assert not token_before_filter(children_token, expr1), repr((children_token, expr1, expr2)) assert token_before_filter(children_token, expr2, True) assert token_before_filter(parent_token, expr2, True) assert not token_before_filter(dummy_token, expr2, True) assert UNPROXIFING_CONTEXT not in context
def test_regression_test_token_before_filter_20130401(): assert UNPROXIFING_CONTEXT not in context query = these(who for who in Entity if who.name.starswith('Manuel')) is_entity_filter, name_filter = query.filters token = query.tokens[0] assert len(query.tokens) == 1 assert token_before_filter(token, is_entity_filter, True) assert token_before_filter(token, name_filter, True)