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

Side by Side Diff: chrome/browser/ui/autofill/autofill_dialog_models_unittest.cc

Issue 2918133002: [Merge M60][Payments] Refactor the year and month combobox models and preselect. (Closed)
Patch Set: Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ui/autofill/autofill_dialog_models.h" 5 #include "chrome/browser/ui/autofill/autofill_dialog_models.h"
6 #include "testing/gmock/include/gmock/gmock.h" 6
7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/grit/generated_resources.h"
9 #include "components/autofill/core/browser/test_autofill_clock.h"
7 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "ui/base/l10n/l10n_util.h"
8 12
9 namespace autofill { 13 namespace autofill {
10 14
15 namespace {
16
17 const base::Time kJune2017 = base::Time::FromDoubleT(1497552271);
18
19 } // namespace
20
21 TEST(YearComboboxModelTest, ExpirationYear) {
22 autofill::TestAutofillClock test_clock;
23 test_clock.SetNow(kJune2017);
24
25 YearComboboxModel model;
26 ASSERT_EQ(11, model.GetItemCount()); // Placeholder + 2017-2026.
27 EXPECT_EQ(
28 l10n_util::GetStringUTF16(IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR),
29 model.GetItemAt(0));
30 EXPECT_EQ(base::ASCIIToUTF16("2017"), model.GetItemAt(1));
31 EXPECT_EQ(base::ASCIIToUTF16("2018"), model.GetItemAt(2));
32 EXPECT_EQ(base::ASCIIToUTF16("2019"), model.GetItemAt(3));
33 EXPECT_EQ(base::ASCIIToUTF16("2020"), model.GetItemAt(4));
34 EXPECT_EQ(base::ASCIIToUTF16("2021"), model.GetItemAt(5));
35 EXPECT_EQ(base::ASCIIToUTF16("2022"), model.GetItemAt(6));
36 EXPECT_EQ(base::ASCIIToUTF16("2023"), model.GetItemAt(7));
37 EXPECT_EQ(base::ASCIIToUTF16("2024"), model.GetItemAt(8));
38 EXPECT_EQ(base::ASCIIToUTF16("2025"), model.GetItemAt(9));
39 EXPECT_EQ(base::ASCIIToUTF16("2026"), model.GetItemAt(10));
40 }
41
42 // Tests that we show the correct years, including an additional year.
43 TEST(YearComboboxModelTest, ShowAdditionalYear) {
44 autofill::TestAutofillClock test_clock;
45 test_clock.SetNow(kJune2017);
46
47 YearComboboxModel model(2016);
48 ASSERT_EQ(12, model.GetItemCount()); // Placeholder + 2016 + 2017-2026.
49 EXPECT_EQ(
50 l10n_util::GetStringUTF16(IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR),
51 model.GetItemAt(0));
52 EXPECT_EQ(base::ASCIIToUTF16("2016"), model.GetItemAt(1));
53 EXPECT_EQ(base::ASCIIToUTF16("2017"), model.GetItemAt(2));
54 EXPECT_EQ(base::ASCIIToUTF16("2018"), model.GetItemAt(3));
55 EXPECT_EQ(base::ASCIIToUTF16("2019"), model.GetItemAt(4));
56 EXPECT_EQ(base::ASCIIToUTF16("2020"), model.GetItemAt(5));
57 EXPECT_EQ(base::ASCIIToUTF16("2021"), model.GetItemAt(6));
58 EXPECT_EQ(base::ASCIIToUTF16("2022"), model.GetItemAt(7));
59 EXPECT_EQ(base::ASCIIToUTF16("2023"), model.GetItemAt(8));
60 EXPECT_EQ(base::ASCIIToUTF16("2024"), model.GetItemAt(9));
61 EXPECT_EQ(base::ASCIIToUTF16("2025"), model.GetItemAt(10));
62 EXPECT_EQ(base::ASCIIToUTF16("2026"), model.GetItemAt(11));
63 }
64
65 // Tests that we show the additional year, even if it is more than 10 years from
66 // now.
67 TEST(YearComboboxModelTest, ExpirationYear_ShowFarFutureYear) {
68 autofill::TestAutofillClock test_clock;
69 test_clock.SetNow(kJune2017);
70
71 YearComboboxModel model(2042);
72 ASSERT_EQ(12, model.GetItemCount()); // Placeholder + 2017-2026 + 2042.
73 EXPECT_EQ(
74 l10n_util::GetStringUTF16(IDS_AUTOFILL_DIALOG_PLACEHOLDER_EXPIRY_YEAR),
75 model.GetItemAt(0));
76 EXPECT_EQ(base::ASCIIToUTF16("2017"), model.GetItemAt(1));
77 EXPECT_EQ(base::ASCIIToUTF16("2018"), model.GetItemAt(2));
78 EXPECT_EQ(base::ASCIIToUTF16("2019"), model.GetItemAt(3));
79 EXPECT_EQ(base::ASCIIToUTF16("2020"), model.GetItemAt(4));
80 EXPECT_EQ(base::ASCIIToUTF16("2021"), model.GetItemAt(5));
81 EXPECT_EQ(base::ASCIIToUTF16("2022"), model.GetItemAt(6));
82 EXPECT_EQ(base::ASCIIToUTF16("2023"), model.GetItemAt(7));
83 EXPECT_EQ(base::ASCIIToUTF16("2024"), model.GetItemAt(8));
84 EXPECT_EQ(base::ASCIIToUTF16("2025"), model.GetItemAt(9));
85 EXPECT_EQ(base::ASCIIToUTF16("2026"), model.GetItemAt(10));
86 EXPECT_EQ(base::ASCIIToUTF16("2042"), model.GetItemAt(11));
87 }
88
11 } // namespace autofill 89 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698