| Index: chrome/browser/browsing_data/browsing_data_counter_utils_unittest.cc
|
| diff --git a/chrome/browser/browsing_data/browsing_data_counter_utils_unittest.cc b/chrome/browser/browsing_data/browsing_data_counter_utils_unittest.cc
|
| index 8406b656953835107463bf750c9808bccec94574..d941e8f3671d3e8659f2d324676303af7a9659f9 100644
|
| --- a/chrome/browser/browsing_data/browsing_data_counter_utils_unittest.cc
|
| +++ b/chrome/browser/browsing_data/browsing_data_counter_utils_unittest.cc
|
| @@ -8,7 +8,9 @@
|
| #include <vector>
|
|
|
| #include "base/message_loop/message_loop.h"
|
| +#include "base/strings/stringprintf.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| +#include "chrome/browser/browsing_data/cache_counter.h"
|
| #include "chrome/test/base/testing_browser_process.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| #include "content/public/test/test_browser_thread_bundle.h"
|
| @@ -32,6 +34,53 @@ class BrowsingDataCounterUtilsTest : public testing::Test {
|
| TestingProfile profile_;
|
| };
|
|
|
| +TEST_F(BrowsingDataCounterUtilsTest, CacheCounterResult) {
|
| + // This test assumes that the strings are served exactly as defined,
|
| + // i.e. that the locale is set to the default "en".
|
| + ASSERT_EQ("en", TestingBrowserProcess::GetGlobal()->GetApplicationLocale());
|
| + const int kBytesInAMegabyte = 1024 * 1024;
|
| +
|
| + // Test the output for various forms of CacheResults.
|
| + const struct TestCase {
|
| + int bytes;
|
| + bool is_upper_limit;
|
| + bool is_basic_tab;
|
| + std::string expected_output;
|
| + } kTestCases[] = {
|
| + {42, false, false, "Less than 1 MB"},
|
| + {42, false, true,
|
| + "Frees up less than 1 MB. Some sites may load more slowly on your next "
|
| + "visit."},
|
| + {2.312 * kBytesInAMegabyte, false, false, "2.3 MB"},
|
| + {2.312 * kBytesInAMegabyte, false, true,
|
| + "Frees up 2.3 MB. Some sites may load more slowly on your next visit."},
|
| + {2.312 * kBytesInAMegabyte, true, false, "Less than 2.3 MB"},
|
| + // TODO(725401): Fix upper case L in estimate string for desktop.
|
| + {2.312 * kBytesInAMegabyte, true, true,
|
| + "Frees up Less than 2.3 MB. Some sites may load more slowly on your "
|
| + "next visit."},
|
| + {500.2 * kBytesInAMegabyte, false, false, "500 MB"},
|
| + {500.2 * kBytesInAMegabyte, true, false, "Less than 500 MB"},
|
| + };
|
| +
|
| + for (const TestCase& test_case : kTestCases) {
|
| + CacheCounter counter(GetProfile());
|
| + browsing_data::ClearBrowsingDataTab tab =
|
| + test_case.is_basic_tab ? browsing_data::ClearBrowsingDataTab::BASIC
|
| + : browsing_data::ClearBrowsingDataTab::ADVANCED;
|
| + counter.Init(GetProfile()->GetPrefs(), tab,
|
| + browsing_data::BrowsingDataCounter::Callback());
|
| + CacheCounter::CacheResult result(&counter, test_case.bytes,
|
| + test_case.is_upper_limit);
|
| + SCOPED_TRACE(base::StringPrintf(
|
| + "Test params: %d bytes, %d is_upper_limit, %d is_basic_tab.",
|
| + test_case.bytes, test_case.is_upper_limit, test_case.is_basic_tab));
|
| +
|
| + base::string16 output = GetChromeCounterTextFromResult(&result);
|
| + EXPECT_EQ(output, base::ASCIIToUTF16(test_case.expected_output));
|
| + }
|
| +}
|
| +
|
| #if BUILDFLAG(ENABLE_EXTENSIONS)
|
| // Tests the complex output of the hosted apps counter.
|
| TEST_F(BrowsingDataCounterUtilsTest, HostedAppsCounterResult) {
|
|
|