| // Copyright 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "gmock/gmock.h" |
| |
| namespace blink { |
| |
| namespace simple_test { |
| |
| class Interface { |
| public: |
| virtual void MyMethod(int my_param) {} |
| }; |
| |
| class MockedInterface : public Interface { |
| public: |
| MOCK_METHOD1(MyMethod, void(int)); |
| }; |
| |
| void Test() { |
| MockedInterface mocked_interface; |
| EXPECT_CALL(mocked_interface, MyMethod(1)); |
| EXPECT_CALL( |
| mocked_interface, // A comment to prevent reformatting into single line. |
| MyMethod(1)); |
| mocked_interface.MyMethod(123); |
| |
| int arg; |
| ON_CALL(mocked_interface, MyMethod(1)) |
| .WillByDefault(testing::SaveArg<0>(&arg)); |
| } |
| |
| } // namespace simple_test |
| |
| namespace no_base_method_to_override { |
| |
| class MockDestructible { |
| public: |
| MOCK_METHOD0(Destruct, void()); |
| }; |
| |
| void Test() { |
| MockDestructible destructible; |
| EXPECT_CALL(destructible, Destruct()); |
| } |
| |
| } // namespace no_base_method_to_override |
| |
| } // namespace blink |