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/autofill_field.h" | 5 #include "components/autofill/core/browser/autofill_field.h" |
6 | 6 |
7 #include "base/format_macros.h" | 7 #include "base/format_macros.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
615 AutofillField::FillFormField(cc_number_full, | 615 AutofillField::FillFormField(cc_number_full, |
616 ASCIIToUTF16(test.card_number_), | 616 ASCIIToUTF16(test.card_number_), |
617 "en-US", | 617 "en-US", |
618 "en-US", | 618 "en-US", |
619 &cc_number_full); | 619 &cc_number_full); |
620 | 620 |
621 // Verify for expected results. | 621 // Verify for expected results. |
622 EXPECT_EQ(ASCIIToUTF16(test.card_number_), cc_number_full.value); | 622 EXPECT_EQ(ASCIIToUTF16(test.card_number_), cc_number_full.value); |
623 } | 623 } |
624 | 624 |
625 TEST(AutofillFieldTest, GetCreditCardNumberValue) { | |
626 std::string card_number("5187654321098765"); | |
627 std::string expectations[] = {"5187", "6543", "2109", "8765"}; | |
628 size_t total_spilts = 4; | |
Ilya Sherman
2014/10/13 23:33:37
nit: Please use the arraysize macro to compute thi
Pritam Nikam
2014/10/15 09:12:11
Done.
| |
629 int max_lengths[] = {4, 4, 4, 4}; | |
630 | |
631 for (size_t i = 0; i < total_spilts; ++i) { | |
632 AutofillField cc_number_part; | |
633 cc_number_part.set_heuristic_type(CREDIT_CARD_NUMBER); | |
634 cc_number_part.max_length = max_lengths[i]; | |
635 cc_number_part.set_credit_card_number_offset(4 * i); | |
636 | |
637 // Retrive the value for |cc_number_part|. | |
638 base::string16 actual = AutofillField::GetCreditCardNumberValue( | |
639 cc_number_part, ASCIIToUTF16(card_number)); | |
640 | |
641 // Enforce the field's |max_length| constrain. | |
Ilya Sherman
2014/10/13 23:33:37
nit: "constrain" -> "constraint". Also, please me
Pritam Nikam
2014/10/15 09:12:10
Done.
| |
642 actual = actual.substr(0, max_lengths[i]); | |
643 | |
644 // Verify for expected results. | |
645 EXPECT_EQ(ASCIIToUTF16(expectations[i]), actual); | |
646 } | |
647 } | |
Ilya Sherman
2014/10/13 23:33:37
Please also test the behavior if the offset is equ
Pritam Nikam
2014/10/15 09:12:10
Done.
| |
648 | |
625 } // namespace | 649 } // namespace |
626 } // namespace autofill | 650 } // namespace autofill |
OLD | NEW |