OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
| 5 #include "components/autofill/core/browser/credit_card_field.h" |
| 6 |
| 7 #include <memory> |
| 8 |
5 #include "base/macros.h" | 9 #include "base/macros.h" |
6 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/ptr_util.h" |
7 #include "base/memory/scoped_vector.h" | 11 #include "base/memory/scoped_vector.h" |
8 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
9 #include "components/autofill/core/browser/autofill_field.h" | 13 #include "components/autofill/core/browser/autofill_field.h" |
10 #include "components/autofill/core/browser/autofill_scanner.h" | 14 #include "components/autofill/core/browser/autofill_scanner.h" |
11 #include "components/autofill/core/browser/credit_card_field.h" | |
12 #include "components/autofill/core/common/form_field_data.h" | 15 #include "components/autofill/core/common/form_field_data.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
14 | 17 |
15 using base::ASCIIToUTF16; | 18 using base::ASCIIToUTF16; |
16 | 19 |
17 namespace autofill { | 20 namespace autofill { |
18 | 21 |
19 class CreditCardFieldTest : public testing::Test { | 22 class CreditCardFieldTest : public testing::Test { |
20 public: | 23 public: |
21 CreditCardFieldTest() {} | 24 CreditCardFieldTest() {} |
22 ~CreditCardFieldTest() override {} | 25 ~CreditCardFieldTest() override {} |
23 | 26 |
24 protected: | 27 protected: |
25 ScopedVector<AutofillField> list_; | 28 ScopedVector<AutofillField> list_; |
26 scoped_ptr<const CreditCardField> field_; | 29 std::unique_ptr<const CreditCardField> field_; |
27 FieldCandidatesMap field_candidates_map_; | 30 FieldCandidatesMap field_candidates_map_; |
28 | 31 |
29 // Parses the contents of |list_| as a form, and stores the result into | 32 // Parses the contents of |list_| as a form, and stores the result into |
30 // |field_|. | 33 // |field_|. |
31 void Parse() { | 34 void Parse() { |
32 AutofillScanner scanner(list_.get()); | 35 AutofillScanner scanner(list_.get()); |
33 scoped_ptr<FormField> field = CreditCardField::Parse(&scanner); | 36 std::unique_ptr<FormField> field = CreditCardField::Parse(&scanner); |
34 field_ = make_scoped_ptr(static_cast<CreditCardField*>(field.release())); | 37 field_ = base::WrapUnique(static_cast<CreditCardField*>(field.release())); |
35 } | 38 } |
36 | 39 |
37 void MultipleParses() { | 40 void MultipleParses() { |
38 scoped_ptr<FormField> field; | 41 std::unique_ptr<FormField> field; |
39 | 42 |
40 AutofillScanner scanner(list_.get()); | 43 AutofillScanner scanner(list_.get()); |
41 while (!scanner.IsEnd()) { | 44 while (!scanner.IsEnd()) { |
42 field = CreditCardField::Parse(&scanner); | 45 field = CreditCardField::Parse(&scanner); |
43 field_ = make_scoped_ptr(static_cast<CreditCardField*>(field.release())); | 46 field_ = base::WrapUnique(static_cast<CreditCardField*>(field.release())); |
44 if (field_ == nullptr) { | 47 if (field_ == nullptr) { |
45 scanner.Advance(); | 48 scanner.Advance(); |
46 } else { | 49 } else { |
47 AddClassifications(); | 50 AddClassifications(); |
48 } | 51 } |
49 } | 52 } |
50 } | 53 } |
51 | 54 |
52 // Associates fields with their corresponding types, based on the previous | 55 // Associates fields with their corresponding types, based on the previous |
53 // call to Parse(). | 56 // call to Parse(). |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
768 field_candidates_map_.end()); | 771 field_candidates_map_.end()); |
769 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, | 772 EXPECT_EQ(CREDIT_CARD_VERIFICATION_CODE, |
770 field_candidates_map_[ASCIIToUTF16("cvc")].BestHeuristicType()); | 773 field_candidates_map_[ASCIIToUTF16("cvc")].BestHeuristicType()); |
771 ASSERT_TRUE(field_candidates_map_.find(ASCIIToUTF16("unknown")) == | 774 ASSERT_TRUE(field_candidates_map_.find(ASCIIToUTF16("unknown")) == |
772 field_candidates_map_.end()); | 775 field_candidates_map_.end()); |
773 ASSERT_TRUE(field_candidates_map_.find(ASCIIToUTF16("cvc2")) == | 776 ASSERT_TRUE(field_candidates_map_.find(ASCIIToUTF16("cvc2")) == |
774 field_candidates_map_.end()); | 777 field_candidates_map_.end()); |
775 } | 778 } |
776 | 779 |
777 } // namespace autofill | 780 } // namespace autofill |
OLD | NEW |