Chromium Code Reviews| Index: components/autofill/core/browser/autofill_assistant_unittest.cc |
| diff --git a/components/autofill/core/browser/autofill_assistant_unittest.cc b/components/autofill/core/browser/autofill_assistant_unittest.cc |
| index 4e972773b1628d119ffc05f133105a0a4cf4a4d1..a493fd1e1a52aa1fd737d3fbfd2004bb3db5446d 100644 |
| --- a/components/autofill/core/browser/autofill_assistant_unittest.cc |
| +++ b/components/autofill/core/browser/autofill_assistant_unittest.cc |
| @@ -145,34 +145,64 @@ TEST_F(AutofillAssistantTest, CanShowCreditCardAssist_FeatureOn) { |
| } |
| // Tests that with the feature enabled and proper input, |
| -// CanShowCreditCardAssist() behaves as expected for secure vs insecure |
| -// contexts. |
| +// CanShowCreditCardAssist() behaves as expected for secure contexts. |
| +TEST_F(AutofillAssistantTest, CanShowCreditCardAssist_FeatureOn_Secure) { |
| + EnableAutofillCreditCardAssist(); |
| + |
| + // Can be shown if the context is secure. |
| + FormData form = CreateValidCreditCardFormData(); |
| + std::unique_ptr<FormStructure> form_structure(new FormStructure(form)); |
| + form_structure->DetermineHeuristicTypes(); |
| + |
| + std::vector<std::unique_ptr<FormStructure>> form_structures; |
| + form_structures.push_back(std::move(form_structure)); |
| + EXPECT_TRUE(autofill_assistant_.CanShowCreditCardAssist(form_structures)); |
| +} |
| + |
| +// Tests that with the feature enabled and proper input, |
| +// CanShowCreditCardAssist() behaves as expected for insecure contexts. |
| TEST_F(AutofillAssistantTest, CanShowCreditCardAssist_FeatureOn_NotSecure) { |
| EnableAutofillCreditCardAssist(); |
| - { |
| - // Cannot be shown if the context is not secure. |
| - FormData form = CreateValidCreditCardFormData(); |
| - form.action = GURL("http://myform.com"); |
| - form.action = GURL("http://myform.com/submit"); |
| - std::unique_ptr<FormStructure> form_structure(new FormStructure(form)); |
| - form_structure->DetermineHeuristicTypes(); |
| + // Cannot be shown if the context is not secure. |
| + FormData form = CreateValidCreditCardFormData(); |
| + form.origin = GURL("http://myform.com"); |
| + form.action = GURL("http://myform.com/submit"); |
| + std::unique_ptr<FormStructure> form_structure(new FormStructure(form)); |
| + form_structure->DetermineHeuristicTypes(); |
| - std::vector<std::unique_ptr<FormStructure>> form_structures; |
| - form_structures.push_back(std::move(form_structure)); |
| - EXPECT_FALSE(autofill_assistant_.CanShowCreditCardAssist(form_structures)); |
| - } |
| + std::vector<std::unique_ptr<FormStructure>> form_structures; |
| + form_structures.push_back(std::move(form_structure)); |
| + EXPECT_FALSE(autofill_assistant_.CanShowCreditCardAssist(form_structures)); |
| +} |
| - { |
| - // Can be shown if the context is secure. |
| - FormData form = CreateValidCreditCardFormData(); |
| - std::unique_ptr<FormStructure> form_structure(new FormStructure(form)); |
| - form_structure->DetermineHeuristicTypes(); |
| +TEST_F(AutofillAssistantTest, CanShowCreditCardAssist_FeatureOn_Javascript) { |
| + EnableAutofillCreditCardAssist(); |
| - std::vector<std::unique_ptr<FormStructure>> form_structures; |
| - form_structures.push_back(std::move(form_structure)); |
| - EXPECT_TRUE(autofill_assistant_.CanShowCreditCardAssist(form_structures)); |
| - } |
| + // Can be shown if the context is secure and the form action is a javascript |
| + // function (which is a valid url). |
| + FormData form = CreateValidCreditCardFormData(); |
| + form.action = GURL("javascript:alert('hello');"); |
| + std::unique_ptr<FormStructure> form_structure(new FormStructure(form)); |
| + form_structure->DetermineHeuristicTypes(); |
| + |
| + std::vector<std::unique_ptr<FormStructure>> form_structures; |
| + form_structures.push_back(std::move(form_structure)); |
| + EXPECT_TRUE(autofill_assistant_.CanShowCreditCardAssist(form_structures)); |
| +} |
| + |
| +TEST_F(AutofillAssistantTest, CanShowCreditCardAssist_FeatureOn_EmptyAction) { |
| + EnableAutofillCreditCardAssist(); |
| + |
| + // Can be shown if the context is secure and the form action is empty. |
| + FormData form = CreateValidCreditCardFormData(); |
| + form.action = GURL(); |
| + std::unique_ptr<FormStructure> form_structure(new FormStructure(form)); |
| + form_structure->DetermineHeuristicTypes(); |
| + |
| + std::vector<std::unique_ptr<FormStructure>> form_structures; |
| + form_structures.push_back(std::move(form_structure)); |
| + EXPECT_TRUE(autofill_assistant_.CanShowCreditCardAssist(form_structures)); |
| } |
|
sebsg
2016/10/21 19:10:55
Can you add one more test where the js function is
Mathieu
2016/10/21 20:53:59
Done.
|
| TEST_F(AutofillAssistantTest, ShowAssistForCreditCard_ValidCard_CancelCvc) { |