Index: components/autofill/browser/form_field_unittest.cc |
diff --git a/components/autofill/browser/form_field_unittest.cc b/components/autofill/browser/form_field_unittest.cc |
deleted file mode 100644 |
index d3e90fa5174074574d2ca81970a9618b751d58ef..0000000000000000000000000000000000000000 |
--- a/components/autofill/browser/form_field_unittest.cc |
+++ /dev/null |
@@ -1,152 +0,0 @@ |
-// Copyright (c) 2011 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 "base/memory/scoped_vector.h" |
-#include "base/strings/string16.h" |
-#include "base/strings/utf_string_conversions.h" |
-#include "components/autofill/browser/autofill_field.h" |
-#include "components/autofill/browser/form_field.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace autofill { |
- |
-TEST(FormFieldTest, Match) { |
- AutofillField field; |
- |
- // Empty strings match. |
- EXPECT_TRUE(FormField::Match(&field, base::string16(), |
- FormField::MATCH_LABEL)); |
- |
- // Empty pattern matches non-empty string. |
- field.label = ASCIIToUTF16("a"); |
- EXPECT_TRUE(FormField::Match(&field, base::string16(), |
- FormField::MATCH_LABEL)); |
- |
- // Strictly empty pattern matches empty string. |
- field.label = base::string16(); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("^$"), |
- FormField::MATCH_LABEL)); |
- |
- // Strictly empty pattern does not match non-empty string. |
- field.label = ASCIIToUTF16("a"); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("^$"), |
- FormField::MATCH_LABEL)); |
- |
- // Non-empty pattern doesn't match empty string. |
- field.label = base::string16(); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("a"), |
- FormField::MATCH_LABEL)); |
- |
- // Beginning of line. |
- field.label = ASCIIToUTF16("head_tail"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("^head"), |
- FormField::MATCH_LABEL)); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("^tail"), |
- FormField::MATCH_LABEL)); |
- |
- // End of line. |
- field.label = ASCIIToUTF16("head_tail"); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("head$"), |
- FormField::MATCH_LABEL)); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("tail$"), |
- FormField::MATCH_LABEL)); |
- |
- // Exact. |
- field.label = ASCIIToUTF16("head_tail"); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("^head$"), |
- FormField::MATCH_LABEL)); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("^tail$"), |
- FormField::MATCH_LABEL)); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("^head_tail$"), |
- FormField::MATCH_LABEL)); |
- |
- // Escaped dots. |
- field.label = ASCIIToUTF16("m.i."); |
- // Note: This pattern is misleading as the "." characters are wild cards. |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("m.i."), |
- FormField::MATCH_LABEL)); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("m\\.i\\."), |
- FormField::MATCH_LABEL)); |
- field.label = ASCIIToUTF16("mXiX"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("m.i."), |
- FormField::MATCH_LABEL)); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("m\\.i\\."), |
- FormField::MATCH_LABEL)); |
- |
- // Repetition. |
- field.label = ASCIIToUTF16("headtail"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("head.*tail"), |
- FormField::MATCH_LABEL)); |
- field.label = ASCIIToUTF16("headXtail"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("head.*tail"), |
- FormField::MATCH_LABEL)); |
- field.label = ASCIIToUTF16("headXXXtail"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("head.*tail"), |
- FormField::MATCH_LABEL)); |
- field.label = ASCIIToUTF16("headtail"); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("head.+tail"), |
- FormField::MATCH_LABEL)); |
- field.label = ASCIIToUTF16("headXtail"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("head.+tail"), |
- FormField::MATCH_LABEL)); |
- field.label = ASCIIToUTF16("headXXXtail"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("head.+tail"), |
- FormField::MATCH_LABEL)); |
- |
- // Alternation. |
- field.label = ASCIIToUTF16("head_tail"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("head|other"), |
- FormField::MATCH_LABEL)); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("tail|other"), |
- FormField::MATCH_LABEL)); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("bad|good"), |
- FormField::MATCH_LABEL)); |
- |
- // Case sensitivity. |
- field.label = ASCIIToUTF16("xxxHeAd_tAiLxxx"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("head_tail"), |
- FormField::MATCH_LABEL)); |
- |
- // Word boundaries. |
- field.label = ASCIIToUTF16("contains word:"); |
- EXPECT_TRUE(FormField::Match(&field, ASCIIToUTF16("\\bword\\b"), |
- FormField::MATCH_LABEL)); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("\\bcon\\b"), |
- FormField::MATCH_LABEL)); |
- // Make sure the circumflex in 'crepe' is not treated as a word boundary. |
- field.label = UTF8ToUTF16("cr" "\xC3\xAA" "pe"); |
- EXPECT_FALSE(FormField::Match(&field, ASCIIToUTF16("\\bcr\\b"), |
- FormField::MATCH_LABEL)); |
-} |
- |
-// Test that we ignore checkable elements. |
-TEST(FormFieldTest, ParseFormFields) { |
- ScopedVector<AutofillField> fields; |
- FormFieldData field_data; |
- field_data.form_control_type = "text"; |
- |
- field_data.label = ASCIIToUTF16("Address line1"); |
- fields.push_back(new AutofillField(field_data, field_data.label)); |
- |
- field_data.is_checkable = true; |
- field_data.label = ASCIIToUTF16("Is PO Box"); |
- fields.push_back(new AutofillField(field_data, field_data.label)); |
- |
- // reset is_checkable to false. |
- field_data.is_checkable = false; |
- field_data.label = ASCIIToUTF16("Address line2"); |
- fields.push_back(new AutofillField(field_data, field_data.label)); |
- |
- FieldTypeMap field_type_map; |
- FormField::ParseFormFields(fields.get(), &field_type_map); |
- // Checkable element shouldn't interfere with inference of Address line2. |
- EXPECT_EQ(2U, field_type_map.size()); |
- |
- EXPECT_EQ(ADDRESS_HOME_LINE1, |
- field_type_map.find(ASCIIToUTF16("Address line1"))->second); |
- EXPECT_EQ(ADDRESS_HOME_LINE2, |
- field_type_map.find(ASCIIToUTF16("Address line2"))->second); |
-} |
- |
-} // namespace autofill |