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

Unified Diff: chrome/browser/ui/views/payments/credit_card_editor_view_controller_unittest.cc

Issue 2689363004: [Payments] Add combobox support to editors. (Closed)
Patch Set: fix test Created 3 years, 10 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
Index: chrome/browser/ui/views/payments/credit_card_editor_view_controller_unittest.cc
diff --git a/chrome/browser/ui/views/payments/credit_card_editor_view_controller_unittest.cc b/chrome/browser/ui/views/payments/credit_card_editor_view_controller_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..8b480867e8b5a0aa34e50095e3b3ce0712c39697
--- /dev/null
+++ b/chrome/browser/ui/views/payments/credit_card_editor_view_controller_unittest.cc
@@ -0,0 +1,100 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/views/payments/credit_card_editor_view_controller.h"
+
+#include <memory>
+
+#include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/ui/views/payments/editor_view_controller.h"
+#include "components/autofill/core/browser/test_autofill_clock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "ui/views/controls/combobox/combobox.h"
+
+namespace payments {
+
+namespace {
+
+const base::Time kJanuary2017 = base::Time::FromDoubleT(1484505871);
+const base::Time kJune2017 = base::Time::FromDoubleT(1497552271);
+
+} // namespace
+
+// Test that if we are in January, the months in the dropdown start at "01".
+TEST(CreditCardEditorViewControllerTest, ExpirationMonth_FromJanuary) {
+ autofill::TestAutofillClock test_clock;
+ test_clock.SetNow(kJanuary2017);
+
+ std::unique_ptr<CreditCardEditorViewController> view_controller(
+ new CreditCardEditorViewController(nullptr, nullptr));
+
+ std::unique_ptr<ui::ComboboxModel> model =
+ view_controller->GetComboboxModelForType(autofill::CREDIT_CARD_EXP_MONTH);
+ EXPECT_EQ(12, model->GetItemCount());
+ EXPECT_EQ(base::ASCIIToUTF16("01"), model->GetItemAt(0));
+ EXPECT_EQ(base::ASCIIToUTF16("02"), model->GetItemAt(1));
+ EXPECT_EQ(base::ASCIIToUTF16("03"), model->GetItemAt(2));
+ EXPECT_EQ(base::ASCIIToUTF16("04"), model->GetItemAt(3));
+ EXPECT_EQ(base::ASCIIToUTF16("05"), model->GetItemAt(4));
+ EXPECT_EQ(base::ASCIIToUTF16("06"), model->GetItemAt(5));
+ EXPECT_EQ(base::ASCIIToUTF16("07"), model->GetItemAt(6));
+ EXPECT_EQ(base::ASCIIToUTF16("08"), model->GetItemAt(7));
+ EXPECT_EQ(base::ASCIIToUTF16("09"), model->GetItemAt(8));
+ EXPECT_EQ(base::ASCIIToUTF16("10"), model->GetItemAt(9));
+ EXPECT_EQ(base::ASCIIToUTF16("11"), model->GetItemAt(10));
+ EXPECT_EQ(base::ASCIIToUTF16("12"), model->GetItemAt(11));
+}
+
+// Test that if we are in June, the months in the dropdown start at "06", the
+// current month.
please use gerrit instead 2017/02/15 15:59:39 Do we have mocks that show this? I wonder whether
Mathieu 2017/02/15 19:55:51 Changed to add the preselected_combobox_model. Wil
+TEST(CreditCardEditorViewControllerTest, ExpirationMonth_FromJune) {
+ autofill::TestAutofillClock test_clock;
+ test_clock.SetNow(kJune2017);
+
+ std::unique_ptr<CreditCardEditorViewController> view_controller(
+ new CreditCardEditorViewController(nullptr, nullptr));
+
+ std::unique_ptr<ui::ComboboxModel> model =
+ view_controller->GetComboboxModelForType(autofill::CREDIT_CARD_EXP_MONTH);
+ EXPECT_EQ(12, model->GetItemCount());
+ EXPECT_EQ(base::ASCIIToUTF16("06"), model->GetItemAt(0));
+ EXPECT_EQ(base::ASCIIToUTF16("07"), model->GetItemAt(1));
+ EXPECT_EQ(base::ASCIIToUTF16("08"), model->GetItemAt(2));
+ EXPECT_EQ(base::ASCIIToUTF16("09"), model->GetItemAt(3));
+ EXPECT_EQ(base::ASCIIToUTF16("10"), model->GetItemAt(4));
+ EXPECT_EQ(base::ASCIIToUTF16("11"), model->GetItemAt(5));
+ EXPECT_EQ(base::ASCIIToUTF16("12"), model->GetItemAt(6));
+ EXPECT_EQ(base::ASCIIToUTF16("01"), model->GetItemAt(7));
+ EXPECT_EQ(base::ASCIIToUTF16("02"), model->GetItemAt(8));
+ EXPECT_EQ(base::ASCIIToUTF16("03"), model->GetItemAt(9));
+ EXPECT_EQ(base::ASCIIToUTF16("04"), model->GetItemAt(10));
+ EXPECT_EQ(base::ASCIIToUTF16("05"), model->GetItemAt(11));
+}
+
+// Tests that we show the correct amount of years in the year dropdown, starting
+// with the current one.
+TEST(CreditCardEditorViewControllerTest, ExpirationYear_From2017) {
+ autofill::TestAutofillClock test_clock;
+ test_clock.SetNow(kJune2017);
+
+ std::unique_ptr<CreditCardEditorViewController> view_controller(
+ new CreditCardEditorViewController(nullptr, nullptr));
+
+ std::unique_ptr<ui::ComboboxModel> model =
+ view_controller->GetComboboxModelForType(
+ autofill::CREDIT_CARD_EXP_4_DIGIT_YEAR);
+ EXPECT_EQ(10, model->GetItemCount());
+ EXPECT_EQ(base::ASCIIToUTF16("2017"), model->GetItemAt(0));
+ EXPECT_EQ(base::ASCIIToUTF16("2018"), model->GetItemAt(1));
+ EXPECT_EQ(base::ASCIIToUTF16("2019"), model->GetItemAt(2));
+ EXPECT_EQ(base::ASCIIToUTF16("2020"), model->GetItemAt(3));
+ EXPECT_EQ(base::ASCIIToUTF16("2021"), model->GetItemAt(4));
+ EXPECT_EQ(base::ASCIIToUTF16("2022"), model->GetItemAt(5));
+ EXPECT_EQ(base::ASCIIToUTF16("2023"), model->GetItemAt(6));
+ EXPECT_EQ(base::ASCIIToUTF16("2024"), model->GetItemAt(7));
+ EXPECT_EQ(base::ASCIIToUTF16("2025"), model->GetItemAt(8));
+ EXPECT_EQ(base::ASCIIToUTF16("2026"), model->GetItemAt(9));
+}
+
+} // namespace payments

Powered by Google App Engine
This is Rietveld 408576698