| OLD | NEW | 
 | (Empty) | 
|   1 // Copyright (c) 2012 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 #ifndef CHROME_COMMON_FORM_FIELD_DATA_H_ |  | 
|   6 #define CHROME_COMMON_FORM_FIELD_DATA_H_ |  | 
|   7  |  | 
|   8 #include <vector> |  | 
|   9  |  | 
|  10 #include "base/string16.h" |  | 
|  11  |  | 
|  12 // Stores information about a field in a form. |  | 
|  13 struct FormFieldData { |  | 
|  14   FormFieldData(); |  | 
|  15   ~FormFieldData(); |  | 
|  16  |  | 
|  17   // Equality tests for identity which does not include |value| or |  | 
|  18   // |is_autofilled|. |  | 
|  19   // TODO(dhollowa): These operators need to be revised when we implement field |  | 
|  20   // ids. |  | 
|  21   bool operator==(const FormFieldData& field) const; |  | 
|  22   bool operator!=(const FormFieldData& field) const; |  | 
|  23   // Comparison operator exposed for STL map. Uses label, then name to sort. |  | 
|  24   bool operator<(const FormFieldData& field) const; |  | 
|  25  |  | 
|  26   string16 label; |  | 
|  27   string16 name; |  | 
|  28   string16 value; |  | 
|  29   std::string form_control_type; |  | 
|  30   std::string autocomplete_attribute; |  | 
|  31   size_t max_length; |  | 
|  32   bool is_autofilled; |  | 
|  33   bool is_checked; |  | 
|  34   bool is_checkable; |  | 
|  35   bool is_focusable; |  | 
|  36   bool should_autocomplete; |  | 
|  37  |  | 
|  38   // For the HTML snippet |<option value="US">United States</option>|, the |  | 
|  39   // value is "US" and the contents are "United States". |  | 
|  40   std::vector<string16> option_values; |  | 
|  41   std::vector<string16> option_contents; |  | 
|  42 }; |  | 
|  43  |  | 
|  44 // So we can compare FormFieldDatas with EXPECT_EQ(). |  | 
|  45 std::ostream& operator<<(std::ostream& os, const FormFieldData& field); |  | 
|  46  |  | 
|  47 // Prefer to use this macro in place of |EXPECT_EQ()| for comparing |  | 
|  48 // |FormFieldData|s in test code. |  | 
|  49 #define EXPECT_FORM_FIELD_DATA_EQUALS(expected, actual) \ |  | 
|  50   do { \ |  | 
|  51     EXPECT_EQ(expected.label, actual.label); \ |  | 
|  52     EXPECT_EQ(expected.name, actual.name); \ |  | 
|  53     EXPECT_EQ(expected.value, actual.value); \ |  | 
|  54     EXPECT_EQ(expected.form_control_type, actual.form_control_type); \ |  | 
|  55     EXPECT_EQ(expected.autocomplete_attribute, actual.autocomplete_attribute); \ |  | 
|  56     EXPECT_EQ(expected.max_length, actual.max_length); \ |  | 
|  57     EXPECT_EQ(expected.is_autofilled, actual.is_autofilled); \ |  | 
|  58     EXPECT_EQ(expected.is_checked, actual.is_checked); \ |  | 
|  59     EXPECT_EQ(expected.is_checkable, actual.is_checkable); \ |  | 
|  60   } while (0) |  | 
|  61  |  | 
|  62 #endif  // CHROME_COMMON_FORM_FIELD_DATA_H_ |  | 
| OLD | NEW |