Index: chrome/browser/android/net/external_estimate_provider_android_unittest.cc |
diff --git a/chrome/browser/android/net/external_estimate_provider_android_unittest.cc b/chrome/browser/android/net/external_estimate_provider_android_unittest.cc |
index 26d9d10acf3a701fad4dfcfc0f808ee0b1f0ea54..1c80b09315bb3cf35d6676d867fe0a0ff88612dd 100644 |
--- a/chrome/browser/android/net/external_estimate_provider_android_unittest.cc |
+++ b/chrome/browser/android/net/external_estimate_provider_android_unittest.cc |
@@ -6,6 +6,7 @@ |
#include <stdint.h> |
+#include "base/test/histogram_tester.h" |
#include "base/time/time.h" |
#include "net/base/network_quality_estimator.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -41,7 +42,10 @@ class TestNetworkQualityEstimator : public net::NetworkQualityEstimator { |
~TestNetworkQualityEstimator() override {} |
- void OnUpdatedEstimateAvailable() override { notified_ = true; } |
+ void OnUpdatedEstimateAvailable() override { |
+ notified_ = true; |
+ net::NetworkQualityEstimator::OnUpdatedEstimateAvailable(); |
+ } |
bool IsNotified() const { return notified_; } |
@@ -56,11 +60,18 @@ class TestExternalEstimateProviderAndroid |
: chrome::android::ExternalEstimateProviderAndroid() {} |
~TestExternalEstimateProviderAndroid() override {} |
using ExternalEstimateProviderAndroid::NotifyUpdatedEstimateAvailable; |
+ |
+ bool GetTimeSinceLastUpdate( |
+ base::TimeDelta* time_since_last_update) const override { |
+ *time_since_last_update = base::TimeDelta::FromMilliseconds(1); |
+ return true; |
+ } |
}; |
// Tests if the |ExternalEstimateProviderAndroid| notifies |
// |NetworkQualityEstimator|. |
TEST(ExternalEstimateProviderAndroidTest, DelegateTest) { |
+ base::HistogramTester histogram_tester; |
scoped_ptr<TestExternalEstimateProviderAndroid> external_estimate_provider; |
external_estimate_provider.reset(new TestExternalEstimateProviderAndroid()); |
@@ -70,6 +81,32 @@ TEST(ExternalEstimateProviderAndroidTest, DelegateTest) { |
external_estimate_provider.Pass(), variation_params); |
ptr->NotifyUpdatedEstimateAvailable(); |
DCHECK(network_quality_estimator.IsNotified()); |
+ |
+ // EXTERNAL_ESTIMATE_PROVIDER_STATUS_NOT_AVAILABLE |
+ histogram_tester.ExpectBucketCount("NQE.ExternalEstimateProviderStatus", 0, |
+ 0); |
+ |
+ // EXTERNAL_ESTIMATE_PROVIDER_STATUS_AVAILABLE |
+ histogram_tester.ExpectBucketCount("NQE.ExternalEstimateProviderStatus", 1, |
+ 1); |
+ |
+ // EXTERNAL_ESTIMATE_PROVIDER_STATUS_QUERIED |
+ // Updated once during NetworkQualityEstimator constructor and again, |
+ // when |OnUpdatedEstimateAvailable| is called. |
+ histogram_tester.ExpectBucketCount("NQE.ExternalEstimateProviderStatus", 2, |
+ 2); |
+ |
+ // EXTERNAL_ESTIMATE_PROVIDER_STATUS_QUERY_SUCCESSFUL |
+ // Updated once during NetworkQualityEstimator constructor and again, |
+ // when |OnUpdatedEstimateAvailable| is called. |
+ histogram_tester.ExpectBucketCount("NQE.ExternalEstimateProviderStatus", 3, |
+ 2); |
+ |
+ // EXTERNAL_ESTIMATE_PROVIDER_STATUS_CALLBACK |
+ histogram_tester.ExpectBucketCount("NQE.ExternalEstimateProviderStatus", 4, |
+ 1); |
+ |
+ histogram_tester.ExpectTotalCount("NQE.ExternalEstimateProviderStatus", 6); |
} |
} // namespace |