Index: blimp/common/mandatory_callback_unittest.cc |
diff --git a/blimp/common/mandatory_callback_unittest.cc b/blimp/common/mandatory_callback_unittest.cc |
deleted file mode 100644 |
index 4c35dcbbd9257c4cd50a8bb76cd76f996ae86f70..0000000000000000000000000000000000000000 |
--- a/blimp/common/mandatory_callback_unittest.cc |
+++ /dev/null |
@@ -1,100 +0,0 @@ |
-// 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 "blimp/common/mandatory_callback.h" |
- |
-#include <memory> |
- |
-#include "base/bind.h" |
-#include "base/test/gtest_util.h" |
-#include "testing/gmock/include/gmock/gmock.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace blimp { |
-namespace { |
- |
-class MandatoryCallbackTest : public testing::Test { |
- public: |
- class ResultCollector { |
- public: |
- MOCK_METHOD2(MarkInvokedTwoArgs, void(int, float)); |
- MOCK_METHOD1(MarkInvoked, void(int)); |
- }; |
- |
- MandatoryCallbackTest() {} |
- ~MandatoryCallbackTest() override {} |
- |
- protected: |
- testing::StrictMock<ResultCollector> result_; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(MandatoryCallbackTest); |
-}; |
- |
-#if !DCHECK_IS_ON() |
- |
-TEST_F(MandatoryCallbackTest, NoEffectForReleaseBuilds) { |
- auto mandatory_cb = CreateMandatoryCallback(base::Bind(&base::DoNothing)); |
- |
- // Test should not crash when |mandatory_cb| is leaked. |
-} |
- |
-#else |
- |
-TEST_F(MandatoryCallbackTest, PassesWhenDestroyedAfterRun) { |
- EXPECT_CALL(result_, MarkInvoked(3)); |
- base::Callback<void(int)> cb = |
- base::Bind(&MandatoryCallbackTest::ResultCollector::MarkInvoked, |
- base::Unretained(&result_)); |
- MandatoryCallback<void(int)> mandatory_cb = CreateMandatoryCallback(cb); |
- mandatory_cb.Run(3); |
-} |
- |
-TEST_F(MandatoryCallbackTest, FailsWhenDestroyedBeforeRun) { |
- base::Callback<void(int)> cb = |
- base::Bind(&MandatoryCallbackTest::ResultCollector::MarkInvoked, |
- base::Unretained(&result_)); |
- ASSERT_DCHECK_DEATH(auto mandatory_cb = CreateMandatoryCallback(cb)); |
-} |
- |
-TEST_F(MandatoryCallbackTest, FailsOnMultipleInvocations) { |
- EXPECT_CALL(result_, MarkInvoked(3)); |
- base::Callback<void(int)> cb = |
- base::Bind(&MandatoryCallbackTest::ResultCollector::MarkInvoked, |
- base::Unretained(&result_)); |
- auto mandatory_cb = CreateMandatoryCallback(cb); |
- mandatory_cb.Run(3); |
- EXPECT_DCHECK_DEATH(mandatory_cb.Run(3)); |
-} |
- |
-TEST_F(MandatoryCallbackTest, FailsOnMoveThenMultipleCall) { |
- EXPECT_CALL(result_, MarkInvoked(3)); |
- base::Callback<void(int)> cb = |
- base::Bind(&MandatoryCallbackTest::ResultCollector::MarkInvoked, |
- base::Unretained(&result_)); |
- auto mandatory_cb = CreateMandatoryCallback(cb); |
- auto moved = std::move(mandatory_cb); |
- moved.Run(3); |
- EXPECT_DCHECK_DEATH(mandatory_cb.Run(3)); |
-} |
- |
-// Allows death checks to copy-and-discard as a one-liner statement, |
-// which is necessary for isolating the moved variable inside the forked death |
-// check process. |
-template <typename CallbackType> |
-void MoveAndToss(CallbackType&& cb) { |
- auto copy = std::move(cb); |
-} |
- |
-TEST_F(MandatoryCallbackTest, FailsOnMoveThenDrop) { |
- base::Callback<void(int)> cb = |
- base::Bind(&MandatoryCallbackTest::ResultCollector::MarkInvoked, |
- base::Unretained(&result_)); |
- ASSERT_DCHECK_DEATH(MoveAndToss(CreateMandatoryCallback(cb))); |
-} |
- |
-#endif |
- |
-} // namespace |
-} // namespace blimp |