diff --git a/src/lib/depend-inject.hpp b/src/lib/depend-inject.hpp index 2cc05e43a..a7a99ed43 100644 --- a/src/lib/depend-inject.hpp +++ b/src/lib/depend-inject.hpp @@ -324,17 +324,26 @@ namespace lib { return bool(mock_); } + /** trigger lazy service object instantiation */ + MOC& + triggerCreate() + { + Depend{}.operator()(); + ENSURE (mock_); + return *mock_; + } + MOC& operator* () const { - ENSURE (mock_); + REQUIRE (mock_); return *mock_; } MOC* operator-> () const { - ENSURE (mock_); + REQUIRE (mock_); return mock_.get(); } }; diff --git a/tests/gui/ctrl/element-access-test.cpp b/tests/gui/ctrl/element-access-test.cpp index 1cb9fbf93..96f273c24 100644 --- a/tests/gui/ctrl/element-access-test.cpp +++ b/tests/gui/ctrl/element-access-test.cpp @@ -116,6 +116,7 @@ namespace test { auto location = UICoord{"win-1","persp-A","thePanel","someView","tab#5"}; DummyTab dummyTab; + fakeDirectory.triggerCreate(); fakeDirectory->expectedQuery = location; fakeDirectory->expectedAnswer = &dummyTab;