| 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
|
|
|