| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "chrome/browser/ui/webui/options/clear_browser_data_handler.h" | |
| 6 | |
| 7 #include "base/strings/stringprintf.h" | |
| 8 #include "base/strings/utf_string_conversions.h" | |
| 9 #include "chrome/browser/browsing_data/autofill_counter.h" | |
| 10 #include "chrome/test/base/testing_browser_process.h" | |
| 11 #include "testing/gtest/include/gtest/gtest.h" | |
| 12 | |
| 13 namespace options { | |
| 14 | |
| 15 // Tests the complex output of the Autofill counter. | |
| 16 TEST(ClearBrowserDataTest, AutofillCounterResult) { | |
| 17 AutofillCounter counter; | |
| 18 | |
| 19 // This test assumes that the strings are served exactly as defined, | |
| 20 // i.e. that the locale is set to the default "en". | |
| 21 ASSERT_EQ("en", TestingBrowserProcess::GetGlobal()->GetApplicationLocale()); | |
| 22 | |
| 23 // Test all configurations of zero and nonzero partial results for datatypes. | |
| 24 // Test singular and plural for each datatype. | |
| 25 struct TestCase { | |
| 26 int num_credit_cards; | |
| 27 int num_addresses; | |
| 28 int num_suggestions; | |
| 29 std::string expected_output; | |
| 30 } test_cases[] = { | |
| 31 {0, 0, 0, "none"}, | |
| 32 {1, 0, 0, "1 credit card"}, | |
| 33 {0, 5, 0, "5 addresses"}, | |
| 34 {0, 0, 1, "1 suggestion"}, | |
| 35 {0, 0, 2, "2 suggestions"}, | |
| 36 {4, 7, 0, "4 credit cards, 7 addresses"}, | |
| 37 {3, 0, 9, "3 credit cards, 9 other suggestions"}, | |
| 38 {0, 1, 1, "1 address, 1 other suggestion"}, | |
| 39 {9, 6, 3, "9 credit cards, 6 addresses, 3 others"}, | |
| 40 {4, 2, 1, "4 credit cards, 2 addresses, 1 other"}, | |
| 41 }; | |
| 42 | |
| 43 for (const TestCase& test_case : test_cases) { | |
| 44 AutofillCounter::AutofillResult result( | |
| 45 &counter, | |
| 46 test_case.num_suggestions, | |
| 47 test_case.num_credit_cards, | |
| 48 test_case.num_addresses); | |
| 49 | |
| 50 SCOPED_TRACE(base::StringPrintf( | |
| 51 "Test params: %d credit card(s), " | |
| 52 "%d address(es), %d suggestion(s).", | |
| 53 test_case.num_credit_cards, | |
| 54 test_case.num_addresses, | |
| 55 test_case.num_suggestions | |
| 56 )); | |
| 57 | |
| 58 base::string16 output = ClearBrowserDataHandler::GetCounterTextFromResult( | |
| 59 &result); | |
| 60 EXPECT_EQ(output, base::ASCIIToUTF16(test_case.expected_output)); | |
| 61 } | |
| 62 } | |
| 63 | |
| 64 } // namespace options | |
| OLD | NEW |