diff options
Diffstat (limited to 'meson/test cases/frameworks/3 gmock')
-rw-r--r-- | meson/test cases/frameworks/3 gmock/gmocktest.cc | 27 | ||||
-rw-r--r-- | meson/test cases/frameworks/3 gmock/meson.build | 16 |
2 files changed, 43 insertions, 0 deletions
diff --git a/meson/test cases/frameworks/3 gmock/gmocktest.cc b/meson/test cases/frameworks/3 gmock/gmocktest.cc new file mode 100644 index 000000000..a8bd2d39f --- /dev/null +++ b/meson/test cases/frameworks/3 gmock/gmocktest.cc @@ -0,0 +1,27 @@ +#include<gtest/gtest.h> +#include<gmock/gmock.h> + +using ::testing::Return; + +class Foo { +public: + Foo() { x = 42; } + virtual ~Foo() {}; + + virtual int getValue() const { return x; } + +private: + int x; +}; + +class MockFoo : public Foo { +public: + MOCK_CONST_METHOD0(getValue, int()); +}; + +TEST(counttest, once) { + MockFoo f; + EXPECT_CALL(f, getValue()).Times(1).WillOnce(Return(42)); + + EXPECT_EQ(f.getValue(), 42) << "Got wrong value"; +} diff --git a/meson/test cases/frameworks/3 gmock/meson.build b/meson/test cases/frameworks/3 gmock/meson.build new file mode 100644 index 000000000..58591aeba --- /dev/null +++ b/meson/test cases/frameworks/3 gmock/meson.build @@ -0,0 +1,16 @@ +project('gmock test', 'cpp') + +# Using gmock without gtest is a pain so just +# don't support that then. + +gtest = dependency('gtest', main : true, required : false, method : 'system') +if not gtest.found() + error('MESON_SKIP_TEST: gtest not installed.') +endif +gmock = dependency('gmock', required : false) +if not gmock.found() + error('MESON_SKIP_TEST: gmock not installed.') +endif + +e = executable('gmocktest', 'gmocktest.cc', dependencies : [gtest, gmock]) +test('gmock test', e) |