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

Unified Diff: chrome/browser/autofill/autofill_profile_unittest.cc

Issue 2835026: Added inferred labels implementation. Label inferred from the person name + d... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 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
« no previous file with comments | « chrome/browser/autofill/autofill_profile.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autofill/autofill_profile_unittest.cc
===================================================================
--- chrome/browser/autofill/autofill_profile_unittest.cc (revision 52727)
+++ chrome/browser/autofill/autofill_profile_unittest.cc (working copy)
@@ -2,11 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "app/l10n_util.h"
#include "base/basictypes.h"
#include "base/scoped_ptr.h"
+#include "base/stl_util-inl.h"
#include "base/string16.h"
#include "chrome/browser/autofill/autofill_common_unittest.h"
#include "chrome/browser/autofill/autofill_profile.h"
+#include "grit/generated_resources.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
@@ -84,6 +87,186 @@
EXPECT_EQ(string16(ASCIIToUTF16("Marion Morrison, 123 Zoo St.")), summary7);
}
+TEST(AutoFillProfileTest, AdjustInferredLabels) {
+ std::vector<AutoFillProfile*> profiles;
+ profiles.push_back(new AutoFillProfile(string16(), 0));
+ autofill_unittest::SetProfileInfo(
+ profiles[0],
+ "",
+ "John",
+ "",
+ "Doe",
+ "johndoe@hades.com",
+ "Underworld",
+ "666 Erebus St.",
+ "",
+ "Elysium", "CA",
+ "91111",
+ "US",
+ "11111111111",
+ "22222222222");
+ profiles.push_back(new AutoFillProfile(string16(), 0));
+ autofill_unittest::SetProfileInfo(
+ profiles[1],
+ "",
+ "Jane",
+ "",
+ "Doe",
+ "janedoe@tertium.com",
+ "Pluto Inc.",
+ "123 Letha Shore.",
+ "",
+ "Dis", "CA",
+ "91222",
+ "US",
+ "12345678910",
+ "01987654321");
+ // As labels are empty they are adjusted the first time.
+ EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
+ // No need to adjust them anymore.
+ EXPECT_FALSE(AutoFillProfile::AdjustInferredLabels(&profiles));
+ EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St.")),
+ profiles[0]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")),
+ profiles[1]->Label());
+
+ profiles.push_back(new AutoFillProfile(string16(), 0));
+ autofill_unittest::SetProfileInfo(
+ profiles[2],
+ "",
+ "John",
+ "",
+ "Doe",
+ "johndoe@tertium.com",
+ "Underworld",
+ "666 Erebus St.",
+ "",
+ "Elysium", "CA",
+ "91111",
+ "US",
+ "11111111111",
+ "22222222222");
+ EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
+
+ // Profile 0 and 2 inferred label now includes an e-mail.
+ EXPECT_EQ(string16(
+ ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@hades.com")),
+ profiles[0]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")),
+ profiles[1]->Label());
+ EXPECT_EQ(string16(
+ ASCIIToUTF16("John Doe, 666 Erebus St., johndoe@tertium.com")),
+ profiles[2]->Label());
+
+ delete profiles[2];
+ profiles.pop_back();
+
+ profiles.push_back(new AutoFillProfile(string16(), 0));
+ autofill_unittest::SetProfileInfo(
+ profiles[2],
+ "",
+ "John",
+ "",
+ "Doe",
+ "johndoe@hades.com",
+ "Underworld",
+ "666 Erebus St.",
+ "",
+ "Elysium", "CA",
+ "91111",
+ "US",
+ "11111111111",
+ "33333333333"); // Fax is different
+
+ EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
+
+ // Profile 0 and 2 inferred label now includes a fax number.
+ EXPECT_EQ(string16(ASCIIToUTF16(
+ "John Doe, 666 Erebus St., fax:#22222222222")),
+ profiles[0]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")),
+ profiles[1]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16(
+ "John Doe, 666 Erebus St., fax:#33333333333")),
+ profiles[2]->Label());
+
+ profiles.push_back(new AutoFillProfile(string16(), 0));
+ autofill_unittest::SetProfileInfo(
+ profiles[3],
+ "",
+ "John",
+ "",
+ "Doe",
+ "johndoe@hades.com",
+ "Underworld",
+ "666 Erebus St.",
+ "",
+ "Elysium", "CA",
+ "91111",
+ "US",
+ "44444444444", // Phone is different for some.
+ "33333333333"); // Fax is different for some.
+
+ EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
+
+ EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St., 11111111111,"
+ " fax:#22222222222")),
+ profiles[0]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")),
+ profiles[1]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St., 11111111111,"
+ " fax:#33333333333")),
+ profiles[2]->Label());
+ // This one differs from other ones by unique phone, so no need for extra
+ // information.
+ EXPECT_EQ(string16(ASCIIToUTF16("John Doe, 666 Erebus St., 44444444444")),
+ profiles[3]->Label());
+
+ profiles.push_back(new AutoFillProfile(string16(), 0));
+ autofill_unittest::SetProfileInfo(
+ profiles[4],
+ "",
+ "John",
+ "",
+ "Doe",
+ "johndoe@styx.com", // E-Mail is different for some.
+ "Underworld",
+ "666 Erebus St.",
+ "",
+ "Elysium", "CA",
+ "91111",
+ "US",
+ "44444444444", // Phone is different for some.
+ "33333333333"); // Fax is different for some.
+
+ EXPECT_TRUE(AutoFillProfile::AdjustInferredLabels(&profiles));
+
+ EXPECT_EQ(string16(ASCIIToUTF16(
+ "John Doe, 666 Erebus St., johndoe@hades.com,"
+ " 11111111111, fax:#22222222222")),
+ profiles[0]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16("Jane Doe, 123 Letha Shore.")),
+ profiles[1]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16(
+ "John Doe, 666 Erebus St., johndoe@hades.com,"
+ " 11111111111, fax:#33333333333")),
+ profiles[2]->Label());
+ EXPECT_EQ(string16(ASCIIToUTF16(
+ "John Doe, 666 Erebus St., johndoe@hades.com,"
+ " 44444444444, fax:#33333333333")),
+ profiles[3]->Label());
+ // This one differs from other ones by unique e-mail, so no need for extra
+ // information.
+ EXPECT_EQ(string16(ASCIIToUTF16(
+ "John Doe, 666 Erebus St., johndoe@styx.com")),
+ profiles[4]->Label());
+
+ EXPECT_FALSE(AutoFillProfile::AdjustInferredLabels(&profiles));
+
+ // Clean up.
+ STLDeleteContainerPointers(profiles.begin(), profiles.end());
+}
+
TEST(AutoFillProfileTest, IsSubsetOf) {
scoped_ptr<AutoFillProfile> a, b;
« no previous file with comments | « chrome/browser/autofill/autofill_profile.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698