Index: chrome/browser/net/nqe/ui_network_quality_estimator_service_browsertest.cc |
diff --git a/chrome/browser/net/nqe/ui_network_quality_estimator_service_browsertest.cc b/chrome/browser/net/nqe/ui_network_quality_estimator_service_browsertest.cc |
index 3b132029bab0015b907e072fc1f2aef07e9cf3d9..4b02ce966607fcdd9695ace96ae87c13e59e05f1 100644 |
--- a/chrome/browser/net/nqe/ui_network_quality_estimator_service_browsertest.cc |
+++ b/chrome/browser/net/nqe/ui_network_quality_estimator_service_browsertest.cc |
@@ -6,6 +6,7 @@ |
#include <string> |
#include "base/bind.h" |
+#include "base/run_loop.h" |
#include "base/test/histogram_tester.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/io_thread.h" |
@@ -31,7 +32,8 @@ namespace { |
class TestEffectiveConnectionTypeObserver |
: public net::NetworkQualityEstimator::EffectiveConnectionTypeObserver { |
public: |
- TestEffectiveConnectionTypeObserver() {} |
+ TestEffectiveConnectionTypeObserver() |
+ : effective_connection_type_(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN) {} |
~TestEffectiveConnectionTypeObserver() override {} |
// net::NetworkQualityEstimator::EffectiveConnectionTypeObserver |
@@ -186,6 +188,15 @@ IN_PROC_BROWSER_TEST_F(UINetworkQualityEstimatorServiceBrowserTest, |
nqe_service->GetEffectiveConnectionType()); |
EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_SLOW_2G, |
nqe_observer.effective_connection_type()); |
+ |
+ // Observer should be notified on addition. |
+ TestEffectiveConnectionTypeObserver nqe_observer_2; |
+ nqe_service->AddEffectiveConnectionTypeObserver(&nqe_observer_2); |
+ EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_UNKNOWN, |
+ nqe_observer_2.effective_connection_type()); |
+ base::RunLoop().RunUntilIdle(); |
+ EXPECT_EQ(net::EFFECTIVE_CONNECTION_TYPE_OFFLINE, |
+ nqe_observer_2.effective_connection_type()); |
} |
// Verify that prefs are not writen when writing of the prefs is not enabled |