Chromium Code Reviews| 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..aa77949732df73f5fcbb8508cd8dc4cd25b8e3fc 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,51 @@ 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 MB = 1024 * 1024; |
|
msramek
2017/06/06 09:57:41
style nit: kNameConstantsLikeThis (ideally reuse t
dullweber
2017/06/06 11:26:54
Done.
|
| + |
| + // 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, "Less than 1 MB"}, |
| + {2.312 * MB, false, false, "2.3 MB"}, |
| + {2.312 * MB, false, true, |
| + "Frees up 2.3 MB. Some sites may load more slowly on your next visit."}, |
| + {2.312 * MB, true, false, "Less than 2.3 MB"}, |
| + // TODO(dullweber): Fix upper case L in estimate string for desktop. |
|
msramek
2017/06/06 09:57:40
I suggest including a bug number here, since this
dullweber
2017/06/06 11:26:54
Done.
|
| + {2.312 * MB, true, true, |
| + "Frees up Less than 2.3 MB. Some sites may load more slowly on your " |
| + "next visit."}, |
| + {500.2 * MB, false, false, "500 MB"}, |
| + {500.2 * MB, 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) { |