| 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
|
|
|