From 3d25502adc5ae37d1c3c74d367f16f770c465109 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 27 Feb 2015 12:56:25 -0800 Subject: Pull in gmock for standalone pdfium builds. For chromium checkouts, the top-level gmock is used instead. Verify build with a simple test that ensures neither mock method is fired. R=thestig@chromium.org Review URL: https://codereview.chromium.org/955513009 --- testing/embedder_test.cpp | 2 ++ testing/embedder_test_mock_delegate.h | 19 ++++++++++++ testing/gmock.gyp | 58 +++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 testing/embedder_test_mock_delegate.h create mode 100644 testing/gmock.gyp (limited to 'testing') diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp index fc6b4dbc80..e8d5a09f65 100644 --- a/testing/embedder_test.cpp +++ b/testing/embedder_test.cpp @@ -17,6 +17,7 @@ #include "../fpdfsdk/include/fpdftext.h" #include "../fpdfsdk/include/fpdfview.h" #include "../core/include/fxcrt/fx_system.h" +#include "testing/gmock/include/gmock/gmock.h" #include "v8/include/v8.h" #ifdef _WIN32 @@ -340,5 +341,6 @@ int EmbedderTest::AlertTrampoline(IPDF_JSPLATFORM* platform, int main(int argc, char** argv) { g_exe_path_ = argv[0]; testing::InitGoogleTest(&argc, argv); + testing::InitGoogleMock(&argc, argv); return RUN_ALL_TESTS(); } diff --git a/testing/embedder_test_mock_delegate.h b/testing/embedder_test_mock_delegate.h new file mode 100644 index 0000000000..526e11774e --- /dev/null +++ b/testing/embedder_test_mock_delegate.h @@ -0,0 +1,19 @@ +// Copyright 2015 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef TESTING_EMBEDDER_TEST_MOCK_DELEGATE_H_ +#define TESTING_EMBEDDER_TEST_MOCK_DELEGATE_H_ + +#include "embedder_test.h" +#include "testing/gmock/include/gmock/gmock.h" + +class EmbedderTestMockDelegate : public EmbedderTest::Delegate { + public: + MOCK_METHOD1(UnsupportedHandler, void(int type)); + MOCK_METHOD4(Alert, int(FPDF_WIDESTRING message, FPDF_WIDESTRING title, + int type, int icon)); +}; + +#endif // TESTING_EMBEDDER_TEST_MOCK_DELEGATE_H_ + diff --git a/testing/gmock.gyp b/testing/gmock.gyp new file mode 100644 index 0000000000..55e1609d27 --- /dev/null +++ b/testing/gmock.gyp @@ -0,0 +1,58 @@ +# Copyright 2015 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. + +{ + 'targets': [ + { + 'target_name': 'gmock', + 'type': 'static_library', + 'dependencies': [ + 'gtest.gyp:gtest', + ], + 'sources': [ + # Sources based on files in r173 of gmock. + 'gmock/include/gmock/gmock-actions.h', + 'gmock/include/gmock/gmock-cardinalities.h', + 'gmock/include/gmock/gmock-generated-actions.h', + 'gmock/include/gmock/gmock-generated-function-mockers.h', + 'gmock/include/gmock/gmock-generated-matchers.h', + 'gmock/include/gmock/gmock-generated-nice-strict.h', + 'gmock/include/gmock/gmock-matchers.h', + 'gmock/include/gmock/gmock-spec-builders.h', + 'gmock/include/gmock/gmock.h', + 'gmock/include/gmock/internal/gmock-generated-internal-utils.h', + 'gmock/include/gmock/internal/gmock-internal-utils.h', + 'gmock/include/gmock/internal/gmock-port.h', + 'gmock/src/gmock-cardinalities.cc', + 'gmock/src/gmock-internal-utils.cc', + 'gmock/src/gmock-matchers.cc', + 'gmock/src/gmock-spec-builders.cc', + 'gmock/src/gmock.cc', + 'gmock_mutant.h', # gMock helpers + ], + 'include_dirs': [ + 'gmock', + 'gmock/include', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + 'gmock/include', # So that gmock headers can find themselves. + ], + }, + 'export_dependent_settings': [ + 'gtest.gyp:gtest', + ], + }, + { + 'target_name': 'gmock_main', + 'type': 'static_library', + 'dependencies': [ + 'gmock', + ], + 'sources': [ + 'gmock/src/gmock_main.cc', + ], + }, + ], +} -- cgit v1.2.3