| Index: chrome/browser/autofill/billing_address_unittest.cc
|
| diff --git a/chrome/browser/autofill/billing_address_unittest.cc b/chrome/browser/autofill/billing_address_unittest.cc
|
| deleted file mode 100644
|
| index 98d62f01f5a2dd28fedad428715243cab1b279f3..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/autofill/billing_address_unittest.cc
|
| +++ /dev/null
|
| @@ -1,787 +0,0 @@
|
| -// Copyright (c) 2010 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 <vector>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/scoped_ptr.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "chrome/browser/autofill/address.h"
|
| -#include "chrome/browser/autofill/billing_address.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace {
|
| -
|
| -class BillingAddressTest : public testing::Test {
|
| - public:
|
| - BillingAddressTest() {
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_LINE1),
|
| - ASCIIToUTF16("123 Appian Way"));
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_LINE2),
|
| - ASCIIToUTF16("Unit 6"));
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_APT_NUM), ASCIIToUTF16("#6"));
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_CITY), ASCIIToUTF16("Paris"));
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_STATE),
|
| - ASCIIToUTF16("Texas"));
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_ZIP), ASCIIToUTF16("12345"));
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_COUNTRY),
|
| - ASCIIToUTF16("USA"));
|
| - }
|
| -
|
| - protected:
|
| - BillingAddress address_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(BillingAddressTest);
|
| -};
|
| -
|
| -TEST_F(BillingAddressTest, GetPossibleFieldTypes) {
|
| - // Empty string.
|
| - FieldTypeSet possible_types;
|
| - address_.GetPossibleFieldTypes(string16(), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Only use split-chars for the address_.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("-,#. "), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // ADDRESS_BILLING_LINE1 =====================================================
|
| -
|
| - // Exact match.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("123 Appian Way"),
|
| - &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE1) !=
|
| - possible_types.end());
|
| -
|
| - // Fields are mixed up.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Way 123 Appian"),
|
| - &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE1) !=
|
| - possible_types.end());
|
| -
|
| - // The match is case-insensitive.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("123 aPPiaN wAy"),
|
| - &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE1) !=
|
| - possible_types.end());
|
| -
|
| - // Case-insensitive match with fields mixed up. The previous test doesn't
|
| - // do a good job of testing for case-insensitivity because the underlying
|
| - // algorithm stops search when it matches '123'.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("wAy aPpIAn"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE1) !=
|
| - possible_types.end());
|
| -
|
| - // The text is not complete.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("123 Appian"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE1) !=
|
| - possible_types.end());
|
| -
|
| - // Extra text on the line.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("123 Appian Way #6"),
|
| - &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Extra text in the middle
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("123 Middle Appian Way"),
|
| - &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Whitespace doesn't matter.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16(" 123 Appian Way "),
|
| - &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE1) !=
|
| - possible_types.end());
|
| -
|
| - // Address split characters don't matter.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("-123, #Appian.Way"),
|
| - &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE1) !=
|
| - possible_types.end());
|
| -
|
| - // ADDRESS_BILLING_LINE2 =====================================================
|
| -
|
| - // Exact match.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Unit 6"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE2) !=
|
| - possible_types.end());
|
| -
|
| - // Fields are mixed up.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("6 Unit"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE2) !=
|
| - possible_types.end());
|
| -
|
| - // The match is case-insensitive.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("uNiT 6"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE2) !=
|
| - possible_types.end());
|
| -
|
| - // The text is not complete.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Unit"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE2) !=
|
| - possible_types.end());
|
| -
|
| - // Extra text on the line.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Unit 6 Extra"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Extra text in the middle
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Unit Middle 6"),
|
| - &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Whitespace doesn't matter.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16(" Unit 6 "), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE2) !=
|
| - possible_types.end());
|
| -
|
| - // Address split characters don't matter.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("-#Unit, .6"),
|
| - &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE2) !=
|
| - possible_types.end());
|
| -
|
| - // ADDRESS_BILLING_APT_NUM ===================================================
|
| -
|
| - // Exact match. This matches the apartment number exactly, and also matches
|
| - // 'Unit 6' because of the 6 and the fact that '#' is an address separator,
|
| - // which is ignored in the search for an address line.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("#6"), &possible_types);
|
| - ASSERT_EQ(2U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_APT_NUM) !=
|
| - possible_types.end());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE2) !=
|
| - possible_types.end());
|
| -
|
| - // The match is case-insensitive.
|
| - possible_types.clear();
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_APT_NUM),
|
| - ASCIIToUTF16("Num 10"));
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("nuM 10"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_APT_NUM) !=
|
| - possible_types.end());
|
| -
|
| - // The text is not complete.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Num"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Extra text on the line.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Num 10 More"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Extra text in the middle
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Num Middle 10"),
|
| - &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Whitespace does matter for apartment number.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16(" Num 10 "), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // ADDRESS_BILLING_CITY ======================================================
|
| -
|
| - // Exact match.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Paris"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_CITY) !=
|
| - possible_types.end());
|
| -
|
| - // The match is case-insensitive.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("pARiS"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_CITY) !=
|
| - possible_types.end());
|
| -
|
| - // The text is not complete.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Par"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Extra text on the line.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Paris City"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Whitespace does matter for apartment number.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16(" Paris "), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // ADDRESS_BILLING_STATE =====================================================
|
| -
|
| - // Exact match.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Texas"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_STATE) !=
|
| - possible_types.end());
|
| -
|
| - // The match is case-insensitive.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("tExAs"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_STATE) !=
|
| - possible_types.end());
|
| -
|
| - // The text is not complete.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Tex"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Extra text on the line.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Texas State"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Whitespace does matter for apartment number.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16(" Texas "), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // ADDRESS_BILLING_COUNTRY ===================================================
|
| -
|
| - // Exact match.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("USA"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_COUNTRY) !=
|
| - possible_types.end());
|
| -
|
| - // The match is case-insensitive.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("uSa"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_COUNTRY) !=
|
| - possible_types.end());
|
| -
|
| - // The text is not complete.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("US"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Extra text on the line.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("US Country"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Whitespace does matter for apartment number.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16(" US "), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // ADDRESS_BILLING_ZIP =======================================================
|
| -
|
| - // Exact match.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("12345"), &possible_types);
|
| - ASSERT_EQ(1U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_ZIP) !=
|
| - possible_types.end());
|
| -
|
| - // The text is not complete.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("1234"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Extra text on the line.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("12345 678"), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Whitespace does matter for apartment number.
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16(" 12345 "), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -
|
| - // Misc ======================================================================
|
| -
|
| - // More than one type can match.
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_LINE1), ASCIIToUTF16("Same"));
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_LINE2), ASCIIToUTF16("Same"));
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_APT_NUM), ASCIIToUTF16("Same"));
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(ASCIIToUTF16("Same"), &possible_types);
|
| - ASSERT_EQ(3U, possible_types.size());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE1) !=
|
| - possible_types.end());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_LINE2) !=
|
| - possible_types.end());
|
| - EXPECT_TRUE(possible_types.find(ADDRESS_BILLING_APT_NUM) !=
|
| - possible_types.end());
|
| -
|
| - // LINE1 is empty.
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_LINE1), string16());
|
| - possible_types.clear();
|
| - address_.GetPossibleFieldTypes(string16(), &possible_types);
|
| - ASSERT_EQ(0U, possible_types.size());
|
| -}
|
| -
|
| -TEST_F(BillingAddressTest, FindInfoMatches) {
|
| - // ADDRESS_BILLING_LINE1 =====================================================
|
| -
|
| - // Match the beginning of the string.
|
| - std::vector<string16> matches;
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE1), ASCIIToUTF16("123"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), matches[0]);
|
| -
|
| - // Search has too many characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE1), ASCIIToUTF16("123 B"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Whitespace at the beginning of the search.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE1), ASCIIToUTF16(" 123"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Search includes the entire match, but adds extra characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(AutoFillType(ADDRESS_BILLING_LINE1),
|
| - ASCIIToUTF16("123 Appian Way B"),
|
| - &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Matching is case-insensitive.
|
| - matches.clear();
|
| - address_.FindInfoMatches(AutoFillType(ADDRESS_BILLING_LINE1),
|
| - ASCIIToUTF16("123 aPpiAN wAy"),
|
| - &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), matches[0]);
|
| -
|
| - // Search is empty.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE1), string16(), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), matches[0]);
|
| -
|
| - // ADDRESS_BILLING_LINE2 =====================================================
|
| -
|
| - // Match the beginning of the string.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE2), ASCIIToUTF16("Unit"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Unit 6"), matches[0]);
|
| -
|
| - // Search has too many characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE2), ASCIIToUTF16("Unita"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Whitespace at the beginning of the search.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE2), ASCIIToUTF16(" Unit"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Search includes the entire match, but adds extra characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE2), ASCIIToUTF16("Unit 6B"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Matching is case-insensitive.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE2), ASCIIToUTF16("uNiT 6"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Unit 6"), matches[0]);
|
| -
|
| - // Search is empty.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_LINE2), string16(), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Unit 6"), matches[0]);
|
| -
|
| - // ADDRESS_BILLING_APT_NUM ===================================================
|
| -
|
| - // Match the beginning of the string.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_APT_NUM), ASCIIToUTF16("#"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("#6"), matches[0]);
|
| -
|
| - // Search has too many characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_APT_NUM), ASCIIToUTF16("#a"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Whitespace at the beginning of the search.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_APT_NUM), ASCIIToUTF16(" #"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Search includes the entire match, but adds extra characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_APT_NUM), ASCIIToUTF16("#6B"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Matching is case-insensitive.
|
| - matches.clear();
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_APT_NUM), ASCIIToUTF16("6B"));
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_APT_NUM), ASCIIToUTF16("6b"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("6B"), matches[0]);
|
| -
|
| - // Search is empty.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_APT_NUM), string16(), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("6B"), matches[0]);
|
| -
|
| - // ADDRESS_BILLING_CITY ======================================================
|
| -
|
| - // Match the beginning of the string.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_CITY), ASCIIToUTF16("Par"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Paris"), matches[0]);
|
| -
|
| - // Search has too many characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_CITY), ASCIIToUTF16("ParA"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Whitespace at the beginning of the search.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_CITY), ASCIIToUTF16(" Paris"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Search includes the entire match, but adds extra characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_CITY), ASCIIToUTF16("ParisB"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Matching is case-insensitive.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_CITY), ASCIIToUTF16("PArIs"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Paris"), matches[0]);
|
| -
|
| - // Search is empty.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_CITY), string16(), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Paris"), matches[0]);
|
| -
|
| - // ADDRESS_BILLING_STATE =====================================================
|
| -
|
| - // Match the beginning of the string.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_STATE), ASCIIToUTF16("Tex"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Texas"), matches[0]);
|
| -
|
| - // Search has too many characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_STATE), ASCIIToUTF16("TexC"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Whitespace at the beginning of the search.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_STATE), ASCIIToUTF16(" Texas"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Search includes the entire match, but adds extra characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_STATE), ASCIIToUTF16("TexasB"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Matching is case-insensitive.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_STATE), ASCIIToUTF16("TeXaS"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Texas"), matches[0]);
|
| -
|
| - // Search is empty.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_STATE), string16(), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("Texas"), matches[0]);
|
| -
|
| - // ADDRESS_BILLING_ZIP =======================================================
|
| -
|
| - // Match the beginning of the string.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_ZIP), ASCIIToUTF16("123"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("12345"), matches[0]);
|
| -
|
| - // Search has too many characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_ZIP), ASCIIToUTF16("123a"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Whitespace at the beginning of the search.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_ZIP), ASCIIToUTF16(" 123"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Search includes the entire match, but adds extra characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_ZIP), ASCIIToUTF16("123456"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Matching is case-sensitive because we should only have numbers in the zip.
|
| - matches.clear();
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_ZIP), ASCIIToUTF16("12345A"));
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_ZIP), ASCIIToUTF16("12345a"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Reset the zip code.
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_ZIP), ASCIIToUTF16("12345"));
|
| -
|
| - // Search is empty.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_ZIP), string16(), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("12345"), matches[0]);
|
| -
|
| - // ADDRESS_BILLING_COUNTRY ===================================================
|
| -
|
| - // Match the beginning of the string.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_COUNTRY), ASCIIToUTF16("US"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("USA"), matches[0]);
|
| -
|
| - // Search has too many characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_COUNTRY), ASCIIToUTF16("USb"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Whitespace at the beginning of the search.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_COUNTRY), ASCIIToUTF16(" US"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Search includes the entire match, but adds extra characters.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_COUNTRY), ASCIIToUTF16("USAB"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // Matching is case-insensitive.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_COUNTRY), ASCIIToUTF16("uSa"), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("USA"), matches[0]);
|
| -
|
| - // Search is empty.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(ADDRESS_BILLING_COUNTRY), string16(), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("USA"), matches[0]);
|
| -
|
| - // Misc ======================================================================
|
| -
|
| - // |type| is not handled by address_.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(NAME_FIRST), ASCIIToUTF16("USA"), &matches);
|
| - ASSERT_EQ(0U, matches.size());
|
| -
|
| - // |type| is UNKNOWN_TYPE.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(UNKNOWN_TYPE), ASCIIToUTF16("123"), &matches);
|
| - ASSERT_EQ(2U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), matches[0]);
|
| - EXPECT_EQ(ASCIIToUTF16("12345"), matches[1]);
|
| -
|
| - // |type| is UNKNOWN_TYPE. Exclude zip because of extra space.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(UNKNOWN_TYPE), ASCIIToUTF16("123 "), &matches);
|
| - ASSERT_EQ(1U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), matches[0]);
|
| -
|
| - // |type| is UNKNOWN_TYPE. Search is empty.
|
| - matches.clear();
|
| - address_.FindInfoMatches(
|
| - AutoFillType(UNKNOWN_TYPE), string16(), &matches);
|
| - ASSERT_EQ(7U, matches.size());
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), matches[0]);
|
| - EXPECT_EQ(ASCIIToUTF16("Unit 6"), matches[1]);
|
| - EXPECT_EQ(ASCIIToUTF16("6B"), matches[2]);
|
| - EXPECT_EQ(ASCIIToUTF16("Paris"), matches[3]);
|
| - EXPECT_EQ(ASCIIToUTF16("Texas"), matches[4]);
|
| - EXPECT_EQ(ASCIIToUTF16("12345"), matches[5]);
|
| - EXPECT_EQ(ASCIIToUTF16("USA"), matches[6]);
|
| -}
|
| -
|
| -TEST_F(BillingAddressTest, GetFieldText) {
|
| - // Get the field text.
|
| - string16 text;
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_LINE1));
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_LINE2));
|
| - EXPECT_EQ(ASCIIToUTF16("Unit 6"), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_APT_NUM));
|
| - EXPECT_EQ(ASCIIToUTF16("#6"), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_CITY));
|
| - EXPECT_EQ(ASCIIToUTF16("Paris"), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_STATE));
|
| - EXPECT_EQ(ASCIIToUTF16("Texas"), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_ZIP));
|
| - EXPECT_EQ(ASCIIToUTF16("12345"), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_COUNTRY));
|
| - EXPECT_EQ(ASCIIToUTF16("USA"), text);
|
| -
|
| - // |type| is not supported by Billingaddress_.
|
| - text = address_.GetFieldText(AutoFillType(NAME_FIRST));
|
| - EXPECT_EQ(string16(), text);
|
| -}
|
| -
|
| -TEST_F(BillingAddressTest, Clear) {
|
| - // Clear the info.
|
| - string16 text;
|
| - address_.Clear();
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_LINE1));
|
| - EXPECT_EQ(string16(), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_LINE2));
|
| - EXPECT_EQ(string16(), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_APT_NUM));
|
| - EXPECT_EQ(string16(), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_CITY));
|
| - EXPECT_EQ(string16(), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_STATE));
|
| - EXPECT_EQ(string16(), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_ZIP));
|
| - EXPECT_EQ(string16(), text);
|
| - text = address_.GetFieldText(AutoFillType(ADDRESS_BILLING_COUNTRY));
|
| - EXPECT_EQ(string16(), text);
|
| -}
|
| -
|
| -TEST_F(BillingAddressTest, AddressClone) {
|
| - // Clone the info.
|
| - string16 text;
|
| - BillingAddress clone;
|
| - Address* clone_ptr = &clone;
|
| - clone_ptr->Clone(address_);
|
| - text = clone.GetFieldText(AutoFillType(ADDRESS_BILLING_LINE1));
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), text);
|
| - text = clone.GetFieldText(AutoFillType(ADDRESS_BILLING_LINE2));
|
| - EXPECT_EQ(ASCIIToUTF16("Unit 6"), text);
|
| - text = clone.GetFieldText(AutoFillType(ADDRESS_BILLING_APT_NUM));
|
| - EXPECT_EQ(ASCIIToUTF16("#6"), text);
|
| - text = clone.GetFieldText(AutoFillType(ADDRESS_BILLING_CITY));
|
| - EXPECT_EQ(ASCIIToUTF16("Paris"), text);
|
| - text = clone.GetFieldText(AutoFillType(ADDRESS_BILLING_STATE));
|
| - EXPECT_EQ(ASCIIToUTF16("Texas"), text);
|
| - text = clone.GetFieldText(AutoFillType(ADDRESS_BILLING_ZIP));
|
| - EXPECT_EQ(ASCIIToUTF16("12345"), text);
|
| - text = clone.GetFieldText(AutoFillType(ADDRESS_BILLING_COUNTRY));
|
| - EXPECT_EQ(ASCIIToUTF16("USA"), text);
|
| -
|
| - // Verify that the clone is a copy and not a reference.
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_LINE1),
|
| - ASCIIToUTF16("654 Bowling Terrace"));
|
| - text = clone.GetFieldText(AutoFillType(ADDRESS_BILLING_LINE1));
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), text);
|
| -}
|
| -
|
| -TEST_F(BillingAddressTest, BillingAddressClone) {
|
| - // Clone the info.
|
| - string16 text;
|
| - scoped_ptr<FormGroup> clone(address_.Clone());
|
| - ASSERT_NE(static_cast<FormGroup*>(NULL), clone.get());
|
| - text = clone->GetFieldText(AutoFillType(ADDRESS_BILLING_LINE1));
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), text);
|
| - text = clone->GetFieldText(AutoFillType(ADDRESS_BILLING_LINE2));
|
| - EXPECT_EQ(ASCIIToUTF16("Unit 6"), text);
|
| - text = clone->GetFieldText(AutoFillType(ADDRESS_BILLING_APT_NUM));
|
| - EXPECT_EQ(ASCIIToUTF16("#6"), text);
|
| - text = clone->GetFieldText(AutoFillType(ADDRESS_BILLING_CITY));
|
| - EXPECT_EQ(ASCIIToUTF16("Paris"), text);
|
| - text = clone->GetFieldText(AutoFillType(ADDRESS_BILLING_STATE));
|
| - EXPECT_EQ(ASCIIToUTF16("Texas"), text);
|
| - text = clone->GetFieldText(AutoFillType(ADDRESS_BILLING_ZIP));
|
| - EXPECT_EQ(ASCIIToUTF16("12345"), text);
|
| - text = clone->GetFieldText(AutoFillType(ADDRESS_BILLING_COUNTRY));
|
| - EXPECT_EQ(ASCIIToUTF16("USA"), text);
|
| -
|
| - // Verify that the clone is a copy and not a reference.
|
| - address_.SetInfo(AutoFillType(ADDRESS_BILLING_LINE1),
|
| - ASCIIToUTF16("654 Bowling Terrace"));
|
| - text = clone->GetFieldText(AutoFillType(ADDRESS_BILLING_LINE1));
|
| - EXPECT_EQ(ASCIIToUTF16("123 Appian Way"), text);
|
| -}
|
| -
|
| -} // namespace
|
|
|