contact_info_unittest.cc revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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 3// found in the LICENSE file. 4 5#include "components/autofill/core/browser/contact_info.h" 6 7#include "base/basictypes.h" 8#include "base/strings/string_util.h" 9#include "base/strings/utf_string_conversions.h" 10#include "components/autofill/core/browser/autofill_type.h" 11#include "components/autofill/core/browser/field_types.h" 12#include "testing/gtest/include/gtest/gtest.h" 13 14using base::ASCIIToUTF16; 15 16namespace autofill { 17 18TEST(NameInfoTest, SetFullName) { 19 NameInfo name; 20 name.SetRawInfo(NAME_FULL, ASCIIToUTF16("Virgil")); 21 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Virgil")); 22 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16()); 23 EXPECT_EQ(name.GetRawInfo(NAME_LAST), base::string16()); 24 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Virgil")); 25 26 name.SetRawInfo(NAME_FULL, ASCIIToUTF16("Murray Gell-Mann")); 27 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Murray")); 28 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16()); 29 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Gell-Mann")); 30 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Murray Gell-Mann")); 31 32 name.SetRawInfo(NAME_FULL, 33 ASCIIToUTF16("Mikhail Yevgrafovich Saltykov-Shchedrin")); 34 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Mikhail")); 35 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Yevgrafovich")); 36 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Saltykov-Shchedrin")); 37 EXPECT_EQ(name.GetRawInfo(NAME_FULL), 38 ASCIIToUTF16("Mikhail Yevgrafovich Saltykov-Shchedrin")); 39 40 name.SetRawInfo(NAME_FULL, ASCIIToUTF16("Arthur Ignatius Conan Doyle")); 41 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("Arthur")); 42 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Ignatius Conan")); 43 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Doyle")); 44 EXPECT_EQ(name.GetRawInfo(NAME_FULL), 45 ASCIIToUTF16("Arthur Ignatius Conan Doyle")); 46} 47 48TEST(NameInfoTest, GetFullName) { 49 NameInfo name; 50 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 51 name.SetRawInfo(NAME_MIDDLE, base::string16()); 52 name.SetRawInfo(NAME_LAST, base::string16()); 53 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 54 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16()); 55 EXPECT_EQ(name.GetRawInfo(NAME_LAST), base::string16()); 56 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First")); 57 58 name.SetRawInfo(NAME_FIRST, base::string16()); 59 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle")); 60 name.SetRawInfo(NAME_LAST, base::string16()); 61 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), base::string16()); 62 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 63 EXPECT_EQ(name.GetRawInfo(NAME_LAST), base::string16()); 64 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Middle")); 65 66 name.SetRawInfo(NAME_FIRST, base::string16()); 67 name.SetRawInfo(NAME_MIDDLE, base::string16()); 68 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last")); 69 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), base::string16()); 70 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16()); 71 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 72 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Last")); 73 74 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 75 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle")); 76 name.SetRawInfo(NAME_LAST, base::string16()); 77 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 78 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 79 EXPECT_EQ(name.GetRawInfo(NAME_LAST), base::string16()); 80 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle")); 81 82 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 83 name.SetRawInfo(NAME_MIDDLE, base::string16()); 84 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last")); 85 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 86 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), base::string16()); 87 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 88 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Last")); 89 90 name.SetRawInfo(NAME_FIRST, base::string16()); 91 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle")); 92 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last")); 93 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), base::string16()); 94 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 95 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 96 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("Middle Last")); 97 98 name.SetRawInfo(NAME_FIRST, ASCIIToUTF16("First")); 99 name.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("Middle")); 100 name.SetRawInfo(NAME_LAST, ASCIIToUTF16("Last")); 101 EXPECT_EQ(name.GetRawInfo(NAME_FIRST), ASCIIToUTF16("First")); 102 EXPECT_EQ(name.GetRawInfo(NAME_MIDDLE), ASCIIToUTF16("Middle")); 103 EXPECT_EQ(name.GetRawInfo(NAME_LAST), ASCIIToUTF16("Last")); 104 EXPECT_EQ(name.GetRawInfo(NAME_FULL), ASCIIToUTF16("First Middle Last")); 105} 106 107} // namespace autofill 108