OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/browsing_data/browsing_data_counter_utils.h" | 5 #include "chrome/browser/browsing_data/browsing_data_counter_utils.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
11 #include "base/strings/stringprintf.h" | |
11 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
13 #include "chrome/browser/browsing_data/cache_counter.h" | |
12 #include "chrome/test/base/testing_browser_process.h" | 14 #include "chrome/test/base/testing_browser_process.h" |
13 #include "chrome/test/base/testing_profile.h" | 15 #include "chrome/test/base/testing_profile.h" |
14 #include "content/public/test/test_browser_thread_bundle.h" | 16 #include "content/public/test/test_browser_thread_bundle.h" |
15 #include "extensions/features/features.h" | 17 #include "extensions/features/features.h" |
16 #include "testing/gtest/include/gtest/gtest.h" | 18 #include "testing/gtest/include/gtest/gtest.h" |
17 | 19 |
18 #if BUILDFLAG(ENABLE_EXTENSIONS) | 20 #if BUILDFLAG(ENABLE_EXTENSIONS) |
19 #include "base/strings/string_split.h" | 21 #include "base/strings/string_split.h" |
20 #include "chrome/browser/browsing_data/hosted_apps_counter.h" | 22 #include "chrome/browser/browsing_data/hosted_apps_counter.h" |
21 #endif | 23 #endif |
22 | 24 |
23 class BrowsingDataCounterUtilsTest : public testing::Test { | 25 class BrowsingDataCounterUtilsTest : public testing::Test { |
24 public: | 26 public: |
25 BrowsingDataCounterUtilsTest() {} | 27 BrowsingDataCounterUtilsTest() {} |
26 ~BrowsingDataCounterUtilsTest() override {} | 28 ~BrowsingDataCounterUtilsTest() override {} |
27 | 29 |
28 TestingProfile* GetProfile() { return &profile_; } | 30 TestingProfile* GetProfile() { return &profile_; } |
29 | 31 |
30 private: | 32 private: |
31 content::TestBrowserThreadBundle thread_bundle_; | 33 content::TestBrowserThreadBundle thread_bundle_; |
32 TestingProfile profile_; | 34 TestingProfile profile_; |
33 }; | 35 }; |
34 | 36 |
37 TEST_F(BrowsingDataCounterUtilsTest, CacheCounterResult) { | |
38 // This test assumes that the strings are served exactly as defined, | |
39 // i.e. that the locale is set to the default "en". | |
40 ASSERT_EQ("en", TestingBrowserProcess::GetGlobal()->GetApplicationLocale()); | |
41 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.
| |
42 | |
43 // Test the output for various forms of CacheResults. | |
44 const struct TestCase { | |
45 int bytes; | |
46 bool is_upper_limit; | |
47 bool is_basic_tab; | |
48 std::string expected_output; | |
49 } kTestCases[] = { | |
50 {42, false, false, "Less than 1 MB"}, | |
51 {42, false, true, "Less than 1 MB"}, | |
52 {2.312 * MB, false, false, "2.3 MB"}, | |
53 {2.312 * MB, false, true, | |
54 "Frees up 2.3 MB. Some sites may load more slowly on your next visit."}, | |
55 {2.312 * MB, true, false, "Less than 2.3 MB"}, | |
56 // 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.
| |
57 {2.312 * MB, true, true, | |
58 "Frees up Less than 2.3 MB. Some sites may load more slowly on your " | |
59 "next visit."}, | |
60 {500.2 * MB, false, false, "500 MB"}, | |
61 {500.2 * MB, true, false, "Less than 500 MB"}, | |
62 }; | |
63 | |
64 for (const TestCase& test_case : kTestCases) { | |
65 CacheCounter counter(GetProfile()); | |
66 browsing_data::ClearBrowsingDataTab tab = | |
67 test_case.is_basic_tab ? browsing_data::ClearBrowsingDataTab::BASIC | |
68 : browsing_data::ClearBrowsingDataTab::ADVANCED; | |
69 counter.Init(GetProfile()->GetPrefs(), tab, | |
70 browsing_data::BrowsingDataCounter::Callback()); | |
71 CacheCounter::CacheResult result(&counter, test_case.bytes, | |
72 test_case.is_upper_limit); | |
73 SCOPED_TRACE(base::StringPrintf( | |
74 "Test params: %d bytes, %d is_upper_limit, %d is_basic_tab.", | |
75 test_case.bytes, test_case.is_upper_limit, test_case.is_basic_tab)); | |
76 | |
77 base::string16 output = GetChromeCounterTextFromResult(&result); | |
78 EXPECT_EQ(output, base::ASCIIToUTF16(test_case.expected_output)); | |
79 } | |
80 } | |
81 | |
35 #if BUILDFLAG(ENABLE_EXTENSIONS) | 82 #if BUILDFLAG(ENABLE_EXTENSIONS) |
36 // Tests the complex output of the hosted apps counter. | 83 // Tests the complex output of the hosted apps counter. |
37 TEST_F(BrowsingDataCounterUtilsTest, HostedAppsCounterResult) { | 84 TEST_F(BrowsingDataCounterUtilsTest, HostedAppsCounterResult) { |
38 HostedAppsCounter counter(GetProfile()); | 85 HostedAppsCounter counter(GetProfile()); |
39 | 86 |
40 // This test assumes that the strings are served exactly as defined, | 87 // This test assumes that the strings are served exactly as defined, |
41 // i.e. that the locale is set to the default "en". | 88 // i.e. that the locale is set to the default "en". |
42 ASSERT_EQ("en", TestingBrowserProcess::GetGlobal()->GetApplicationLocale()); | 89 ASSERT_EQ("en", TestingBrowserProcess::GetGlobal()->GetApplicationLocale()); |
43 | 90 |
44 // Test the output for various numbers of hosted apps. | 91 // Test the output for various numbers of hosted apps. |
(...skipping 23 matching lines...) Expand all Loading... | |
68 HostedAppsCounter::HostedAppsResult result( | 115 HostedAppsCounter::HostedAppsResult result( |
69 &counter, | 116 &counter, |
70 apps.size(), | 117 apps.size(), |
71 examples); | 118 examples); |
72 | 119 |
73 base::string16 output = GetChromeCounterTextFromResult(&result); | 120 base::string16 output = GetChromeCounterTextFromResult(&result); |
74 EXPECT_EQ(output, base::ASCIIToUTF16(test_case.expected_output)); | 121 EXPECT_EQ(output, base::ASCIIToUTF16(test_case.expected_output)); |
75 } | 122 } |
76 } | 123 } |
77 #endif | 124 #endif |
OLD | NEW |