mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
89 lines
2.9 KiB
C++
89 lines
2.9 KiB
C++
|
// Copyright (c) 2012 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 "net/base/mock_network_change_notifier.h"
|
||
|
|
||
|
#include "base/run_loop.h"
|
||
|
|
||
|
namespace net {
|
||
|
namespace test {
|
||
|
|
||
|
MockNetworkChangeNotifier::MockNetworkChangeNotifier()
|
||
|
: force_network_handles_supported_(false),
|
||
|
connection_type_(CONNECTION_UNKNOWN) {}
|
||
|
MockNetworkChangeNotifier::~MockNetworkChangeNotifier() = default;
|
||
|
|
||
|
MockNetworkChangeNotifier::ConnectionType
|
||
|
MockNetworkChangeNotifier::GetCurrentConnectionType() const {
|
||
|
return connection_type_;
|
||
|
}
|
||
|
|
||
|
void MockNetworkChangeNotifier::ForceNetworkHandlesSupported() {
|
||
|
force_network_handles_supported_ = true;
|
||
|
}
|
||
|
|
||
|
bool MockNetworkChangeNotifier::AreNetworkHandlesCurrentlySupported() const {
|
||
|
return force_network_handles_supported_;
|
||
|
}
|
||
|
|
||
|
void MockNetworkChangeNotifier::SetConnectedNetworksList(
|
||
|
const NetworkList& network_list) {
|
||
|
connected_networks_ = network_list;
|
||
|
}
|
||
|
|
||
|
void MockNetworkChangeNotifier::GetCurrentConnectedNetworks(
|
||
|
NetworkList* network_list) const {
|
||
|
network_list->clear();
|
||
|
*network_list = connected_networks_;
|
||
|
}
|
||
|
|
||
|
void MockNetworkChangeNotifier::NotifyNetworkMadeDefault(
|
||
|
NetworkChangeNotifier::NetworkHandle network) {
|
||
|
QueueNetworkMadeDefault(network);
|
||
|
// Spin the message loop so the notification is delivered.
|
||
|
base::RunLoop().RunUntilIdle();
|
||
|
}
|
||
|
|
||
|
void MockNetworkChangeNotifier::QueueNetworkMadeDefault(
|
||
|
NetworkChangeNotifier::NetworkHandle network) {
|
||
|
NetworkChangeNotifier::NotifyObserversOfSpecificNetworkChange(
|
||
|
NetworkChangeNotifier::MADE_DEFAULT, network);
|
||
|
}
|
||
|
|
||
|
void MockNetworkChangeNotifier::NotifyNetworkDisconnected(
|
||
|
NetworkChangeNotifier::NetworkHandle network) {
|
||
|
QueueNetworkDisconnected(network);
|
||
|
// Spin the message loop so the notification is delivered.
|
||
|
base::RunLoop().RunUntilIdle();
|
||
|
}
|
||
|
|
||
|
void MockNetworkChangeNotifier::QueueNetworkDisconnected(
|
||
|
NetworkChangeNotifier::NetworkHandle network) {
|
||
|
NetworkChangeNotifier::NotifyObserversOfSpecificNetworkChange(
|
||
|
NetworkChangeNotifier::DISCONNECTED, network);
|
||
|
}
|
||
|
|
||
|
void MockNetworkChangeNotifier::NotifyNetworkConnected(
|
||
|
NetworkChangeNotifier::NetworkHandle network) {
|
||
|
NetworkChangeNotifier::NotifyObserversOfSpecificNetworkChange(
|
||
|
NetworkChangeNotifier::CONNECTED, network);
|
||
|
// Spin the message loop so the notification is delivered.
|
||
|
base::RunLoop().RunUntilIdle();
|
||
|
}
|
||
|
|
||
|
ScopedMockNetworkChangeNotifier::ScopedMockNetworkChangeNotifier()
|
||
|
: disable_network_change_notifier_for_tests_(
|
||
|
new NetworkChangeNotifier::DisableForTest()),
|
||
|
mock_network_change_notifier_(new MockNetworkChangeNotifier()) {}
|
||
|
|
||
|
ScopedMockNetworkChangeNotifier::~ScopedMockNetworkChangeNotifier() = default;
|
||
|
|
||
|
MockNetworkChangeNotifier*
|
||
|
ScopedMockNetworkChangeNotifier::mock_network_change_notifier() {
|
||
|
return mock_network_change_notifier_.get();
|
||
|
}
|
||
|
|
||
|
} // namespace test
|
||
|
} // namespace net
|