server/test/unittest_msplanner.py
branchstable
changeset 6794 140d42b41b31
parent 6781 5062d86d6ffe
child 6796 e70ca9abfc51
--- a/server/test/unittest_msplanner.py	Fri Jan 07 15:21:56 2011 +0100
+++ b/server/test/unittest_msplanner.py	Fri Jan 07 18:51:47 2011 +0100
@@ -2473,6 +2473,37 @@
                      )]
                    )
 
+    def test_version_crossed_depends_on_4(self):
+        self._test('Any X,AD,AE WHERE EXISTS(E multisource_crossed_rel X), X in_state AD, AD name AE, E is Note',
+                   [('FetchStep',
+                     [('Any X,AD,AE WHERE X in_state AD, AD name AE, AD is State, X is Note',
+                       [{'X': 'Note', 'AD': 'State', 'AE': 'String'}])],
+                     [self.cards, self.cards2, self.system], None,
+                     {'X': 'table0.C0',
+                      'AD': 'table0.C1',
+                      'AD.name': 'table0.C2',
+                      'AE': 'table0.C2'},
+                     []),
+                    ('FetchStep',
+                     [('Any A WHERE E multisource_crossed_rel A, A is Note, E is Note',
+                       [{'A': 'Note', 'E': 'Note'}])],
+                     [self.cards, self.cards2, self.system], None,
+                     {'A': 'table1.C0'},
+                     []),
+                    ('OneFetchStep',
+                     [('Any X,AD,AE WHERE EXISTS(X identity A), AD name AE, A is Note, AD is State, X is Note',
+                       [{'A': 'Note', 'AD': 'State', 'AE': 'String', 'X': 'Note'}])],
+                     None, None,
+                     [self.system],
+                     {'A': 'table1.C0',
+                      'AD': 'table0.C1',
+                      'AD.name': 'table0.C2',
+                      'AE': 'table0.C2',
+                      'X': 'table0.C0'},
+                     []
+                     )]
+                       )
+
     def test_nonregr_dont_cross_rel_source_filtering_1(self):
         self.repo._type_source_cache[999999] = ('Note', 'cards', 999999)
         self._test('Any S WHERE E eid %(x)s, E in_state S, NOT S name "moved"',