Commit 54af9ba5 authored by vladlosev's avatar vladlosev
Browse files

Adds a synchronization test.

parent 33605ba4
......@@ -2358,9 +2358,23 @@ TEST(VerifyAndClearTest, DoesNotAffectOtherMockObjects) {
// action or as a default action without causing a dead lock. It
// verifies that the action is not performed inside the critical
// section.
TEST(SynchronizationTest, CanCallMockMethodInAction) {
MockA a;
MockC c;
ON_CALL(a, DoA(_))
.WillByDefault(IgnoreResult(InvokeWithoutArgs(&c,
&MockC::NonVoidMethod)));
EXPECT_CALL(a, DoA(1));
EXPECT_CALL(a, DoA(1))
.WillOnce(Invoke(&a, &MockA::DoA))
.RetiresOnSaturation();
EXPECT_CALL(c, NonVoidMethod());
void Helper(MockC* c) {
c->NonVoidMethod();
a.DoA(1);
// This will match the second EXPECT_CALL() and trigger another a.DoA(1),
// which will in turn match the first EXPECT_CALL() and trigger a call to
// c.NonVoidMethod() that was specified by the ON_CALL() since the first
// EXPECT_CALL() did not specify an action.
}
} // namespace
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment