| Index: chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc
|
| diff --git a/chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc b/chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc
|
| index b9a90dea36a0e3f01156591ab2cee4e0cd1f1a3f..921a71e22845cf29205fb0f5267d852383398597 100644
|
| --- a/chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc
|
| +++ b/chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc
|
| @@ -3,9 +3,87 @@
|
| // found in the LICENSE file.
|
|
|
| #include "chrome/browser/ui/autofill/autofill_dialog_models.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| +
|
| +#include "base/strings/utf_string_conversions.h"
|
| +#include "chrome/grit/generated_resources.h"
|
| +#include "components/autofill/core/browser/test_autofill_clock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
|
|
| namespace autofill {
|
|
|
| +namespace {
|
| +
|
| +const base::Time kJune2017 = base::Time::FromDoubleT(1497552271);
|
| +
|
| +} // namespace
|
| +
|
| +TEST(YearComboboxModelTest, ExpirationYear) {
|
| + autofill::TestAutofillClock test_clock;
|
| + test_clock.SetNow(kJune2017);
|
| +
|
| + YearComboboxModel model;
|
| + ASSERT_EQ(11, model.GetItemCount()); // Placeholder + 2017-2026.
|
| + EXPECT_EQ(
|
| + l10n_util::GetStringUTF16(IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR),
|
| + model.GetItemAt(0));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2017"), model.GetItemAt(1));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2018"), model.GetItemAt(2));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2019"), model.GetItemAt(3));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2020"), model.GetItemAt(4));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2021"), model.GetItemAt(5));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2022"), model.GetItemAt(6));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2023"), model.GetItemAt(7));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2024"), model.GetItemAt(8));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2025"), model.GetItemAt(9));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2026"), model.GetItemAt(10));
|
| +}
|
| +
|
| +// Tests that we show the correct years, including an additional year.
|
| +TEST(YearComboboxModelTest, ShowAdditionalYear) {
|
| + autofill::TestAutofillClock test_clock;
|
| + test_clock.SetNow(kJune2017);
|
| +
|
| + YearComboboxModel model(2016);
|
| + ASSERT_EQ(12, model.GetItemCount()); // Placeholder + 2016 + 2017-2026.
|
| + EXPECT_EQ(
|
| + l10n_util::GetStringUTF16(IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR),
|
| + model.GetItemAt(0));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2016"), model.GetItemAt(1));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2017"), model.GetItemAt(2));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2018"), model.GetItemAt(3));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2019"), model.GetItemAt(4));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2020"), model.GetItemAt(5));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2021"), model.GetItemAt(6));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2022"), model.GetItemAt(7));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2023"), model.GetItemAt(8));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2024"), model.GetItemAt(9));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2025"), model.GetItemAt(10));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2026"), model.GetItemAt(11));
|
| +}
|
| +
|
| +// Tests that we show the additional year, even if it is more than 10 years from
|
| +// now.
|
| +TEST(YearComboboxModelTest, ExpirationYear_ShowFarFutureYear) {
|
| + autofill::TestAutofillClock test_clock;
|
| + test_clock.SetNow(kJune2017);
|
| +
|
| + YearComboboxModel model(2042);
|
| + ASSERT_EQ(12, model.GetItemCount()); // Placeholder + 2017-2026 + 2042.
|
| + EXPECT_EQ(
|
| + l10n_util::GetStringUTF16(IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR),
|
| + model.GetItemAt(0));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2017"), model.GetItemAt(1));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2018"), model.GetItemAt(2));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2019"), model.GetItemAt(3));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2020"), model.GetItemAt(4));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2021"), model.GetItemAt(5));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2022"), model.GetItemAt(6));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2023"), model.GetItemAt(7));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2024"), model.GetItemAt(8));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2025"), model.GetItemAt(9));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2026"), model.GetItemAt(10));
|
| + EXPECT_EQ(base::ASCIIToUTF16("2042"), model.GetItemAt(11));
|
| +}
|
| +
|
| } // namespace autofill
|
|
|