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::SetDefaultNetworkForTesting(
19 const std::string& guid) {
20 DVLOG(1) << "SetDefaultNetworkForTesting: " << guid;
22 default_network_.reset();
24 default_network_.reset(new NetworkState("/service/" + guid));
25 default_network_->SetGuid(guid);
29 void NetworkPortalDetectorTestImpl::SetDetectionResultsForTesting(
30 const std::string& guid,
31 const CaptivePortalState& state) {
32 DVLOG(1) << "SetDetectionResultsForTesting: " << guid << " = "
33 << NetworkPortalDetector::CaptivePortalStatusString(state.status);
35 portal_state_map_[guid] = state;
38 void NetworkPortalDetectorTestImpl::NotifyObserversForTesting() {
39 CaptivePortalState state;
40 if (default_network_ && portal_state_map_.count(default_network_->guid()))
41 state = portal_state_map_[default_network_->guid()];
42 FOR_EACH_OBSERVER(Observer, observers_,
43 OnPortalDetectionCompleted(default_network_.get(), state));
46 void NetworkPortalDetectorTestImpl::AddObserver(Observer* observer) {
47 if (observer && !observers_.HasObserver(observer))
48 observers_.AddObserver(observer);
51 void NetworkPortalDetectorTestImpl::AddAndFireObserver(Observer* observer) {
52 AddObserver(observer);
55 if (!default_network_ || !portal_state_map_.count(default_network_->guid())) {
56 observer->OnPortalDetectionCompleted(default_network_.get(),
57 CaptivePortalState());
59 observer->OnPortalDetectionCompleted(
60 default_network_.get(), portal_state_map_[default_network_->guid()]);
64 void NetworkPortalDetectorTestImpl::RemoveObserver(Observer* observer) {
66 observers_.RemoveObserver(observer);
69 NetworkPortalDetector::CaptivePortalState
70 NetworkPortalDetectorTestImpl::GetCaptivePortalState(
71 const std::string& guid) {
72 CaptivePortalStateMap::iterator it = portal_state_map_.find(guid);
73 if (it == portal_state_map_.end()) {
74 DVLOG(2) << "GetCaptivePortalState Not found: " << guid;
75 return CaptivePortalState();
77 DVLOG(2) << "GetCaptivePortalState: " << guid << " = "
78 << CaptivePortalStatusString(it->second.status);
82 bool NetworkPortalDetectorTestImpl::IsEnabled() {
86 void NetworkPortalDetectorTestImpl::Enable(bool start_detection) {
89 bool NetworkPortalDetectorTestImpl::StartDetectionIfIdle() {
93 void NetworkPortalDetectorTestImpl::SetStrategy(
94 PortalDetectorStrategy::StrategyId id) {
98 } // namespace chromeos