Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Unified Diff: chrome/browser/browsing_data/browsing_data_counter_utils_unittest.cc

Issue 2080283002: Implement GetCounterTextFromResult() for the hosted apps counter. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed cast type. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/browsing_data/browsing_data_counter_utils.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 c422570de404e7a323c3e3f9577ba0ed4d6781c1..b36cc7059ed69f5338d422295081e54577ea5c6e 100644
--- a/chrome/browser/browsing_data/browsing_data_counter_utils_unittest.cc
+++ b/chrome/browser/browsing_data/browsing_data_counter_utils_unittest.cc
@@ -4,12 +4,20 @@
#include "chrome/browser/browsing_data/browsing_data_counter_utils.h"
+#include <string>
+#include <vector>
+
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browsing_data/autofill_counter.h"
#include "chrome/test/base/testing_browser_process.h"
#include "testing/gtest/include/gtest/gtest.h"
+#if defined(ENABLE_EXTENSIONS)
+#include "base/strings/string_split.h"
+#include "chrome/browser/browsing_data/hosted_apps_counter.h"
+#endif
+
// Tests the complex output of the Autofill counter.
TEST(BrowsingDataCounterUtilsTest, AutofillCounterResult) {
AutofillCounter counter;
@@ -20,12 +28,12 @@ TEST(BrowsingDataCounterUtilsTest, AutofillCounterResult) {
// Test all configurations of zero and nonzero partial results for datatypes.
// Test singular and plural for each datatype.
- struct TestCase {
+ const struct TestCase {
int num_credit_cards;
int num_addresses;
int num_suggestions;
std::string expected_output;
- } test_cases[] = {
+ } kTestCases[] = {
{0, 0, 0, "none"},
{1, 0, 0, "1 credit card"},
{0, 5, 0, "5 addresses"},
@@ -38,7 +46,7 @@ TEST(BrowsingDataCounterUtilsTest, AutofillCounterResult) {
{4, 2, 1, "4 credit cards, 2 addresses, 1 other"},
};
- for (const TestCase& test_case : test_cases) {
+ for (const TestCase& test_case : kTestCases) {
AutofillCounter::AutofillResult result(
&counter,
test_case.num_suggestions,
@@ -57,3 +65,47 @@ TEST(BrowsingDataCounterUtilsTest, AutofillCounterResult) {
EXPECT_EQ(output, base::ASCIIToUTF16(test_case.expected_output));
}
}
+
+#if defined(ENABLE_EXTENSIONS)
+// Tests the complex output of the hosted apps counter.
+TEST(BrowsingDataCounterUtilsTest, HostedAppsCounterResult) {
+ HostedAppsCounter counter;
+
+ // 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());
+
+ // Test the output for various numbers of hosted apps.
+ const struct TestCase {
+ std::string apps_list;
+ std::string expected_output;
+ } kTestCases[] = {
+ { "", "none" },
+ { "App1", "1 app (App1)" },
+ { "App1, App2", "2 apps (App1, App2)" },
+ { "App1, App2, App3", "3 apps (App1, App2, and 1 more)" },
+ { "App1, App2, App3, App4", "4 apps (App1, App2, and 2 more)" },
+ { "App1, App2, App3, App4, App5", "5 apps (App1, App2, and 3 more)" },
+ };
+
+ for (const TestCase& test_case : kTestCases) {
+ // Split the list of installed apps by commas.
+ std::vector<std::string> apps = base::SplitString(
+ test_case.apps_list, ",",
+ base::TRIM_WHITESPACE, base::SPLIT_WANT_NONEMPTY);
+
+ // The first two apps in the list are used as examples.
+ std::vector<std::string> examples;
+ examples.assign(
+ apps.begin(), apps.begin() + (apps.size() > 2 ? 2 : apps.size()));
+
+ HostedAppsCounter::HostedAppsResult result(
+ &counter,
+ apps.size(),
+ examples);
+
+ base::string16 output = GetCounterTextFromResult(&result);
+ EXPECT_EQ(output, base::ASCIIToUTF16(test_case.expected_output));
+ }
+}
+#endif
« no previous file with comments | « chrome/browser/browsing_data/browsing_data_counter_utils.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698