diff options
Diffstat (limited to 'base/at_exit_unittest.cc')
-rw-r--r-- | base/at_exit_unittest.cc | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/base/at_exit_unittest.cc b/base/at_exit_unittest.cc index aaeb2f8..46815d0 100644 --- a/base/at_exit_unittest.cc +++ b/base/at_exit_unittest.cc @@ -1,69 +1,69 @@ -// Copyright (c) 2006-2008 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 "base/at_exit.h"
-
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace {
-
-// Don't test the global AtExitManager, because asking it to process its
-// AtExit callbacks can ruin the global state that other tests may depend on.
-class ShadowingAtExitManager : public base::AtExitManager {
- public:
- ShadowingAtExitManager() : AtExitManager(true) {}
-};
-
-int g_test_counter_1 = 0;
-int g_test_counter_2 = 0;
-
-void IncrementTestCounter1() {
- ++g_test_counter_1;
-}
-
-void IncrementTestCounter2() {
- ++g_test_counter_2;
-}
-
-void ZeroTestCounters() {
- g_test_counter_1 = 0;
- g_test_counter_2 = 0;
-}
-
-void ExpectCounter1IsZero() {
- EXPECT_EQ(0, g_test_counter_1);
-}
-
-} // namespace
-
-TEST(AtExitTest, Basic) {
- ShadowingAtExitManager shadowing_at_exit_manager;
-
- ZeroTestCounters();
- base::AtExitManager::RegisterCallback(&IncrementTestCounter1);
- base::AtExitManager::RegisterCallback(&IncrementTestCounter2);
- base::AtExitManager::RegisterCallback(&IncrementTestCounter1);
-
- EXPECT_EQ(0, g_test_counter_1);
- EXPECT_EQ(0, g_test_counter_2);
- base::AtExitManager::ProcessCallbacksNow();
- EXPECT_EQ(2, g_test_counter_1);
- EXPECT_EQ(1, g_test_counter_2);
-}
-
-TEST(AtExitTest, LIFOOrder) {
- ShadowingAtExitManager shadowing_at_exit_manager;
-
- ZeroTestCounters();
- base::AtExitManager::RegisterCallback(&IncrementTestCounter1);
- base::AtExitManager::RegisterCallback(&ExpectCounter1IsZero);
- base::AtExitManager::RegisterCallback(&IncrementTestCounter2);
-
- EXPECT_EQ(0, g_test_counter_1);
- EXPECT_EQ(0, g_test_counter_2);
- base::AtExitManager::ProcessCallbacksNow();
- EXPECT_EQ(1, g_test_counter_1);
- EXPECT_EQ(1, g_test_counter_2);
-}
-
+// Copyright (c) 2006-2008 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 "base/at_exit.h" + +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +// Don't test the global AtExitManager, because asking it to process its +// AtExit callbacks can ruin the global state that other tests may depend on. +class ShadowingAtExitManager : public base::AtExitManager { + public: + ShadowingAtExitManager() : AtExitManager(true) {} +}; + +int g_test_counter_1 = 0; +int g_test_counter_2 = 0; + +void IncrementTestCounter1() { + ++g_test_counter_1; +} + +void IncrementTestCounter2() { + ++g_test_counter_2; +} + +void ZeroTestCounters() { + g_test_counter_1 = 0; + g_test_counter_2 = 0; +} + +void ExpectCounter1IsZero() { + EXPECT_EQ(0, g_test_counter_1); +} + +} // namespace + +TEST(AtExitTest, Basic) { + ShadowingAtExitManager shadowing_at_exit_manager; + + ZeroTestCounters(); + base::AtExitManager::RegisterCallback(&IncrementTestCounter1); + base::AtExitManager::RegisterCallback(&IncrementTestCounter2); + base::AtExitManager::RegisterCallback(&IncrementTestCounter1); + + EXPECT_EQ(0, g_test_counter_1); + EXPECT_EQ(0, g_test_counter_2); + base::AtExitManager::ProcessCallbacksNow(); + EXPECT_EQ(2, g_test_counter_1); + EXPECT_EQ(1, g_test_counter_2); +} + +TEST(AtExitTest, LIFOOrder) { + ShadowingAtExitManager shadowing_at_exit_manager; + + ZeroTestCounters(); + base::AtExitManager::RegisterCallback(&IncrementTestCounter1); + base::AtExitManager::RegisterCallback(&ExpectCounter1IsZero); + base::AtExitManager::RegisterCallback(&IncrementTestCounter2); + + EXPECT_EQ(0, g_test_counter_1); + EXPECT_EQ(0, g_test_counter_2); + base::AtExitManager::ProcessCallbacksNow(); + EXPECT_EQ(1, g_test_counter_1); + EXPECT_EQ(1, g_test_counter_2); +} + |