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

Side by Side Diff: components/autofill/core/browser/address_combobox_model_unittest.cc

Issue 2849523003: Add billing address as a mandatory field of Payments credit cards. (Closed)
Patch Set: Components Unittests fix Created 3 years, 7 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
(Empty)
1 // Copyright 2017 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 "components/autofill/core/browser/address_combobox_model.h"
6
7 #include "components/autofill/core/browser/autofill_test_utils.h"
8 #include "components/autofill/core/browser/test_personal_data_manager.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/libaddressinput/src/cpp/include/libaddressinput/region_dat a.h"
11
12 namespace autofill {
13
14 namespace {
15 const char kAppLocale[] = "fr-CA";
16 }
17
18 TEST(AddressComboboxModelTest, Empty) {
19 TestPersonalDataManager test_personal_data_manager;
20
21 AddressComboboxModel model(test_personal_data_manager, kAppLocale);
22 EXPECT_EQ(1, model.GetItemCount());
23 EXPECT_FALSE(model.IsItemSeparatorAt(0));
24 EXPECT_TRUE(model.GetItemIdentifierAt(0).empty());
25 EXPECT_EQ(-1, model.GetIndexOfIdentifier("Anything"));
26 }
27
28 TEST(AddressComboboxModelTest, OneAddress) {
29 TestPersonalDataManager test_personal_data_manager;
30 AutofillProfile profile1(test::GetFullProfile());
31 test_personal_data_manager.AddTestingProfile(&profile1);
32
33 AddressComboboxModel model(test_personal_data_manager, kAppLocale);
34 EXPECT_EQ(3, model.GetItemCount());
35 EXPECT_FALSE(model.IsItemSeparatorAt(0));
36 EXPECT_TRUE(model.IsItemSeparatorAt(1));
37 EXPECT_TRUE(model.GetItemIdentifierAt(0).empty());
38 EXPECT_TRUE(model.GetItemIdentifierAt(1).empty());
39 EXPECT_EQ(-1, model.GetIndexOfIdentifier("Anything"));
40 EXPECT_EQ(profile1.guid(), model.GetItemIdentifierAt(2));
41 EXPECT_EQ(2, model.GetIndexOfIdentifier(profile1.guid()));
42 }
43
44 TEST(AddressComboboxModelTest, TwoAddresses) {
45 TestPersonalDataManager test_personal_data_manager;
46 AutofillProfile profile1(test::GetFullProfile());
47 AutofillProfile profile2(test::GetFullProfile2());
48
49 // Force |profile1| to be shown first in the combobox.
50 profile1.set_use_count(100);
51 test_personal_data_manager.AddTestingProfile(&profile1);
52 test_personal_data_manager.AddTestingProfile(&profile2);
53
54 AddressComboboxModel model(test_personal_data_manager, kAppLocale);
55 EXPECT_EQ(4, model.GetItemCount());
56 EXPECT_FALSE(model.IsItemSeparatorAt(0));
57 EXPECT_TRUE(model.IsItemSeparatorAt(1));
58 EXPECT_TRUE(model.GetItemIdentifierAt(0).empty());
59 EXPECT_TRUE(model.GetItemIdentifierAt(1).empty());
60 EXPECT_EQ(-1, model.GetIndexOfIdentifier("Anything"));
61 EXPECT_EQ(profile1.guid(), model.GetItemIdentifierAt(2));
62 EXPECT_EQ(profile2.guid(), model.GetItemIdentifierAt(3));
63 EXPECT_EQ(2, model.GetIndexOfIdentifier(profile1.guid()));
64 EXPECT_EQ(3, model.GetIndexOfIdentifier(profile2.guid()));
65 }
66
67 TEST(AddressComboboxModelTest, AddAnAddress) {
68 TestPersonalDataManager test_personal_data_manager;
69 AutofillProfile profile1(test::GetFullProfile());
70 test_personal_data_manager.AddTestingProfile(&profile1);
71
72 AddressComboboxModel model(test_personal_data_manager, kAppLocale);
73 EXPECT_EQ(3, model.GetItemCount());
74 EXPECT_EQ(profile1.guid(), model.GetItemIdentifierAt(2));
75 EXPECT_EQ(2, model.GetIndexOfIdentifier(profile1.guid()));
76
77 AutofillProfile profile2(test::GetFullProfile2());
78 int new_profile_index = model.AddNewProfile(profile2);
79 EXPECT_EQ(3, new_profile_index);
80 EXPECT_EQ(4, model.GetItemCount());
81 EXPECT_EQ(profile2.guid(), model.GetItemIdentifierAt(3));
82 EXPECT_EQ(3, model.GetIndexOfIdentifier(profile2.guid()));
83
84 // First profile shouldn't have changed, here the order is guaranteed.
85 EXPECT_EQ(profile1.guid(), model.GetItemIdentifierAt(2));
86 EXPECT_EQ(2, model.GetIndexOfIdentifier(profile1.guid()));
87 }
88
89 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698