| Index: chrome/browser/autofill/autofill_type_unittest.cc
|
| diff --git a/chrome/browser/autofill/autofill_type_unittest.cc b/chrome/browser/autofill/autofill_type_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d610717fd08d07904cc3d73597e6de75d4f32c2d
|
| --- /dev/null
|
| +++ b/chrome/browser/autofill/autofill_type_unittest.cc
|
| @@ -0,0 +1,60 @@
|
| +// 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 "chrome/browser/autofill/autofill_type.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace {
|
| +
|
| +TEST(AutoFillTypeTest, Basic) {
|
| + // No server data.
|
| + AutoFillType none(NO_SERVER_DATA);
|
| + EXPECT_EQ(NO_SERVER_DATA, none.field_type());
|
| + EXPECT_EQ(AutoFillType::NO_GROUP, none.group());
|
| + EXPECT_EQ(AutoFillType::NO_SUBGROUP, none.subgroup());
|
| +
|
| + // Unknown type.
|
| + AutoFillType unknown(UNKNOWN_TYPE);
|
| + EXPECT_EQ(UNKNOWN_TYPE, unknown.field_type());
|
| + EXPECT_EQ(AutoFillType::NO_GROUP, unknown.group());
|
| + EXPECT_EQ(AutoFillType::NO_SUBGROUP, unknown.subgroup());
|
| +
|
| + // Type with group but no subgroup.
|
| + AutoFillType first(NAME_FIRST);
|
| + EXPECT_EQ(NAME_FIRST, first.field_type());
|
| + EXPECT_EQ(AutoFillType::CONTACT_INFO, first.group());
|
| + EXPECT_EQ(AutoFillType::NO_SUBGROUP, first.subgroup());
|
| +
|
| + // Type with group and subgroup.
|
| + AutoFillType phone(PHONE_HOME_NUMBER);
|
| + EXPECT_EQ(PHONE_HOME_NUMBER, phone.field_type());
|
| + EXPECT_EQ(AutoFillType::PHONE_HOME, phone.group());
|
| + EXPECT_EQ(AutoFillType::PHONE_NUMBER, phone.subgroup());
|
| +
|
| + // Last value, to check any offset errors.
|
| + AutoFillType last(COMPANY_NAME);
|
| + EXPECT_EQ(COMPANY_NAME, last.field_type());
|
| + EXPECT_EQ(AutoFillType::CONTACT_INFO, last.group());
|
| + EXPECT_EQ(AutoFillType::NO_SUBGROUP, last.subgroup());
|
| +
|
| + // Boundary (error) condition.
|
| + AutoFillType boundary(MAX_VALID_FIELD_TYPE);
|
| + EXPECT_EQ(UNKNOWN_TYPE, boundary.field_type());
|
| + EXPECT_EQ(AutoFillType::NO_GROUP, boundary.group());
|
| + EXPECT_EQ(AutoFillType::NO_SUBGROUP, boundary.subgroup());
|
| +
|
| + // Beyond the boundary (error) condition.
|
| + AutoFillType beyond(static_cast<AutoFillFieldType>(MAX_VALID_FIELD_TYPE+10));
|
| + EXPECT_EQ(UNKNOWN_TYPE, beyond.field_type());
|
| + EXPECT_EQ(AutoFillType::NO_GROUP, beyond.group());
|
| + EXPECT_EQ(AutoFillType::NO_SUBGROUP, beyond.subgroup());
|
| +
|
| + // In-between value. Missing from enum but within range. Error condition.
|
| + AutoFillType between(static_cast<AutoFillFieldType>(16));
|
| + EXPECT_EQ(UNKNOWN_TYPE, between.field_type());
|
| + EXPECT_EQ(AutoFillType::NO_GROUP, between.group());
|
| + EXPECT_EQ(AutoFillType::NO_SUBGROUP, between.subgroup());
|
| +}
|
| +
|
| +} // namespace
|
|
|