diff --git a/tests/43session.tests b/tests/43session.tests index dcc9dc1ae..fb021b2fe 100644 --- a/tests/43session.tests +++ b/tests/43session.tests @@ -121,7 +121,35 @@ out: Placement<.+session.Label.> .............. use-cnt=1 END -PLANNED "discovering scopes" ScopeQuery_test < +out: Placement<.+TestSubMO2.> +out: Placement<.+TestSubMO1.> +out: Placement<.+DummyMO.> +out: --------------------------------Test-2: contents depth-first, filtered to Clip +out: --------------------------------Test-3: contents depth-first, filtered to DummyMO +out: Placement<.+TestSubMO21.> +out: Placement<.+TestSubMO2.> +out: Placement<.+TestSubMO1.> +out: Placement<.+DummyMO.> +out: --------------------------------Test-4: contents depth-first, filtered to TestSubMO1 +out: Placement<.+TestSubMO1.> +out: --------------------------------Test-5: contents depth-first, filtered to TestSubMO2 +out: Placement<.+TestSubMO21.> +out: Placement<.+TestSubMO2.> +out: --------------------------------Test-6: parents of the second TestSubMO2 element found +out: Placement<.+TestSubMO21.> +out: Placement<.+mobject.session.Label.> +out: --------------------------------Test-7: children of the this TestSubMO2 element +out: Placement<.+TestSubMO21.> +out: --------------------------------Test-8: path from there to root +out: Placement<.+TestSubMO21.> +out: Placement<.+mobject.session.Label.> +out: --------------------------------Test-9: same path, but filtered to TestSubMO2 +out: Placement<.+TestSubMO21.> +out: --------------------------------Test-10: continue exploring partially used TestSubMO2 iterator +out: Placement<.+TestSubMO21.> END diff --git a/tests/components/proc/mobject/session/scope-query-test.cpp b/tests/components/proc/mobject/session/scope-query-test.cpp index 99e47b64d..a2cc4487e 100644 --- a/tests/components/proc/mobject/session/scope-query-test.cpp +++ b/tests/components/proc/mobject/session/scope-query-test.cpp @@ -25,7 +25,8 @@ #include "proc/mobject/session/session-service-explore-scope.hpp" #include "proc/mobject/session/scope-query.hpp" #include "proc/mobject/session/test-scopes.hpp" -//#include "lib/util.hpp" +#include "proc/mobject/session/clip.hpp" +#include "lib/symbol.hpp" #include #include @@ -36,6 +37,7 @@ namespace mobject { namespace session { namespace test { + using lib::Literal; using std::string; using std::cout; using std::endl; @@ -66,31 +68,43 @@ namespace test { QueryResolver const& resolver = SessionServiceExploreScope::getResolver(); PlacementMO const& scope = SessionServiceExploreScope::getScopeRoot(); - discover (ScopeQuery (resolver,scope, CONTENTS)); - discover (ScopeQuery (resolver,scope, CONTENTS)); ////////////////////// TICKET #532 - discover (ScopeQuery (resolver,scope, CONTENTS)); - discover (ScopeQuery (resolver,scope, CONTENTS)); + discover (ScopeQuery (resolver,scope, CONTENTS) , "contents depth-first"); + discover (ScopeQuery (resolver,scope, CONTENTS) , "contents depth-first, filtered to Clip"); + discover (ScopeQuery (resolver,scope, CONTENTS) , "contents depth-first, filtered to DummyMO"); ////////////////////// TICKET #532 + discover (ScopeQuery (resolver,scope, CONTENTS) , "contents depth-first, filtered to TestSubMO1"); + discover (ScopeQuery (resolver,scope, CONTENTS) , "contents depth-first, filtered to TestSubMO2"); ScopeQuery specialEl(resolver,scope, CONTENTS); + ++specialEl; // step in to second solution found... + ASSERT (specialEl); - discover (ScopeQuery (resolver,*specialEl, PARENTS)); - discover (ScopeQuery (resolver,*specialEl, PATH)); - discover (ScopeQuery (resolver,*specialEl, PATH)); - discover (specialEl); + discover (ScopeQuery (resolver,*specialEl, PARENTS) , "parents of the second TestSubMO2 element found"); + discover (ScopeQuery (resolver,*specialEl, CHILDREN), "children of the this TestSubMO2 element"); + discover (ScopeQuery (resolver,*specialEl, PATH) , "path from there to root"); + discover (ScopeQuery (resolver,*specialEl, PATH) , "same path, but filtered to TestSubMO2"); + discover (specialEl , "continue exploring partially used TestSubMO2 iterator"); } template void - discover (ScopeQuery const& query) + discover (ScopeQuery const& query, Literal description) { typedef typename ScopeQuery::iterator I; + announce (description); for (I elm(query); elm; ++elm) cout << string(*elm) << endl; } + void + announce (Literal description) + { + static uint nr(0); + cout << "--------------------------------Test-"<< ++nr << ": " << description << endl; + } + };