1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h"
7 #include "chromeos/network/network_state.h"
11 NetworkPortalDetectorTestImpl::NetworkPortalDetectorTestImpl()
12 : strategy_id_(PortalDetectorStrategy::STRATEGY_ID_LOGIN_SCREEN) {
15 NetworkPortalDetectorTestImpl::~NetworkPortalDetectorTestImpl() {
18 void NetworkPortalDetectorTestImpl::SetDefaultNetworkPathForTesting(
19 const std::string& service_path) {
20 if (service_path.empty())
21 default_network_.reset();
23 default_network_.reset(new NetworkState(service_path));
26 void NetworkPortalDetectorTestImpl::SetDetectionResultsForTesting(
27 const std::string& service_path,
28 const CaptivePortalState& state) {
29 if (!service_path.empty())
30 portal_state_map_[service_path] = state;
33 void NetworkPortalDetectorTestImpl::NotifyObserversForTesting() {
34 CaptivePortalState state;
35 if (default_network_ &&
36 portal_state_map_.count(default_network_->path())) {
37 state = portal_state_map_[default_network_->path()];
39 FOR_EACH_OBSERVER(Observer, observers_,
40 OnPortalDetectionCompleted(default_network_.get(), state));
43 void NetworkPortalDetectorTestImpl::AddObserver(Observer* observer) {
44 if (observer && !observers_.HasObserver(observer))
45 observers_.AddObserver(observer);
48 void NetworkPortalDetectorTestImpl::AddAndFireObserver(Observer* observer) {
49 AddObserver(observer);
52 if (!default_network_ ||
53 !portal_state_map_.count(default_network_->path())) {
54 observer->OnPortalDetectionCompleted(default_network_.get(),
55 CaptivePortalState());
57 observer->OnPortalDetectionCompleted(
58 default_network_.get(),
59 portal_state_map_[default_network_->path()]);
63 void NetworkPortalDetectorTestImpl::RemoveObserver(Observer* observer) {
65 observers_.RemoveObserver(observer);
68 NetworkPortalDetector::CaptivePortalState
69 NetworkPortalDetectorTestImpl::GetCaptivePortalState(
70 const std::string& service_path) {
71 CaptivePortalStateMap::iterator it = portal_state_map_.find(service_path);
72 if (it == portal_state_map_.end())
73 return CaptivePortalState();
77 bool NetworkPortalDetectorTestImpl::IsEnabled() {
81 void NetworkPortalDetectorTestImpl::Enable(bool start_detection) {
84 bool NetworkPortalDetectorTestImpl::StartDetectionIfIdle() {
88 void NetworkPortalDetectorTestImpl::SetStrategy(
89 PortalDetectorStrategy::StrategyId id) {
93 } // namespace chromeos