Index: chrome/common/net/network_change_notifier_proxy_unittest.cc |
=================================================================== |
--- chrome/common/net/network_change_notifier_proxy_unittest.cc (revision 50775) |
+++ chrome/common/net/network_change_notifier_proxy_unittest.cc (working copy) |
@@ -1,101 +0,0 @@ |
-// Copyright (c) 2010 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 "chrome/common/net/network_change_notifier_proxy.h" |
- |
-#include "base/basictypes.h" |
-#include "base/logging.h" |
-#include "base/ref_counted.h" |
-#include "base/scoped_ptr.h" |
-#include "chrome/common/net/fake_network_change_notifier_thread.h" |
-#include "chrome/common/net/mock_network_change_observer.h" |
-#include "net/base/network_change_notifier.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace chrome_common_net { |
- |
-namespace { |
- |
-class NetworkChangeNotifierProxyTest : public testing::Test { |
- protected: |
- NetworkChangeNotifierProxyTest() {} |
- |
- virtual ~NetworkChangeNotifierProxyTest() {} |
- |
- virtual void SetUp() { |
- source_thread_.Start(); |
- notifier_proxy_.reset(new NetworkChangeNotifierProxy(&source_thread_)); |
- } |
- |
- virtual void TearDown() { |
- // Posts a task to the source thread. |
- notifier_proxy_.reset(); |
- source_thread_.Stop(); |
- } |
- |
- // Trigger an "IP address changed" event on the source network |
- // change notifier on the source thread and propagate any generated |
- // notifications to the target thread. |
- void NotifyIPAddressChange() { |
- source_thread_.NotifyIPAddressChange(); |
- source_thread_.Pump(); |
- target_message_loop_.RunAllPending(); |
- } |
- |
- FakeNetworkChangeNotifierThread source_thread_; |
- |
- MessageLoop target_message_loop_; |
- MockNetworkChangeObserver target_observer_; |
- |
- scoped_ptr<net::NetworkChangeNotifier> notifier_proxy_; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(NetworkChangeNotifierProxyTest); |
-}; |
- |
-TEST_F(NetworkChangeNotifierProxyTest, Basic) { |
- EXPECT_CALL(target_observer_, OnIPAddressChanged()).Times(1); |
- |
- notifier_proxy_->AddObserver(&target_observer_); |
- NotifyIPAddressChange(); |
- notifier_proxy_->RemoveObserver(&target_observer_); |
-} |
- |
-TEST_F(NetworkChangeNotifierProxyTest, IgnoresEventAfterRemoveObserver) { |
- EXPECT_CALL(target_observer_, OnIPAddressChanged()).Times(0); |
- |
- notifier_proxy_->AddObserver(&target_observer_); |
- notifier_proxy_->RemoveObserver(&target_observer_); |
- NotifyIPAddressChange(); |
-} |
- |
-TEST_F(NetworkChangeNotifierProxyTest, IgnoresEventBeforeRemoveObserver) { |
- EXPECT_CALL(target_observer_, OnIPAddressChanged()).Times(0); |
- |
- NotifyIPAddressChange(); |
- notifier_proxy_->AddObserver(&target_observer_); |
- notifier_proxy_->RemoveObserver(&target_observer_); |
-} |
- |
-TEST_F(NetworkChangeNotifierProxyTest, Multiple) { |
- EXPECT_CALL(target_observer_, OnIPAddressChanged()).Times(0); |
- |
- const int kNumObservers = 5; |
- MockNetworkChangeObserver extra_observers[kNumObservers]; |
- for (int i = 0; i < kNumObservers; ++i) { |
- EXPECT_CALL(extra_observers[i], OnIPAddressChanged()).Times(1); |
- } |
- |
- for (int i = 0; i < kNumObservers; ++i) { |
- notifier_proxy_->AddObserver(&extra_observers[i]); |
- } |
- NotifyIPAddressChange(); |
- for (int i = 0; i < kNumObservers; ++i) { |
- notifier_proxy_->RemoveObserver(&extra_observers[i]); |
- } |
-} |
- |
-} // namespace |
- |
-} // namespace chrome_common_net |