| // Copyright 2017 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/browser/download/download_stats.h" |
| |
| #include "base/test/histogram_tester.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace content { |
| |
| namespace { |
| |
| void VerfiyParallelizableAverageStats(int64_t bytes_downloaded, |
| const base::TimeDelta& time_span) { |
| base::HistogramTester histogram_tester; |
| int64_t expected_bandwidth = bytes_downloaded / time_span.InSeconds(); |
| |
| RecordParallelizableDownloadAverageStats(bytes_downloaded, time_span); |
| histogram_tester.ExpectBucketCount("Download.ParallelizableDownloadBandwidth", |
| expected_bandwidth, 1); |
| histogram_tester.ExpectBucketCount("Download.Parallelizable.DownloadTime", |
| time_span.InMilliseconds(), 1); |
| histogram_tester.ExpectBucketCount("Download.Parallelizable.FileSize", |
| bytes_downloaded / 1024, 1); |
| } |
| |
| } // namespace |
| |
| TEST(DownloadStatsTest, ParallelizableAverageStats) { |
| VerfiyParallelizableAverageStats(1, base::TimeDelta::FromSeconds(1)); |
| VerfiyParallelizableAverageStats(1024 * 1024 * 20, |
| base::TimeDelta::FromSeconds(10)); |
| VerfiyParallelizableAverageStats(1024 * 1024 * 1024, |
| base::TimeDelta::FromSeconds(1)); |
| } |
| |
| } // namespace content |