| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "base/string_util.h" | 5 #include "base/string_util.h" |
| 6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
| 7 #include "chrome/renderer/autofill/form_manager.h" | 7 #include "chrome/renderer/autofill/form_manager.h" |
| 8 #include "chrome/test/render_view_test.h" | 8 #include "chrome/test/render_view_test.h" |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" | 10 #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" |
| (...skipping 2828 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2839 // Verify that the cursor position has been updated. | 2839 // Verify that the cursor position has been updated. |
| 2840 EXPECT_EQ(0, firstname.selectionStart()); | 2840 EXPECT_EQ(0, firstname.selectionStart()); |
| 2841 EXPECT_EQ(0, firstname.selectionEnd()); | 2841 EXPECT_EQ(0, firstname.selectionEnd()); |
| 2842 } | 2842 } |
| 2843 | 2843 |
| 2844 TEST_F(FormManagerTest, ClearPreviewedFormWithNode) { | 2844 TEST_F(FormManagerTest, ClearPreviewedFormWithNode) { |
| 2845 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" | 2845 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" |
| 2846 " <INPUT type=\"text\" id=\"firstname\" value=\"Wyatt\"/>" | 2846 " <INPUT type=\"text\" id=\"firstname\" value=\"Wyatt\"/>" |
| 2847 " <INPUT type=\"text\" id=\"lastname\"/>" | 2847 " <INPUT type=\"text\" id=\"lastname\"/>" |
| 2848 " <INPUT type=\"text\" id=\"email\"/>" | 2848 " <INPUT type=\"text\" id=\"email\"/>" |
| 2849 " <INPUT type=\"email\" id=\"email2\"/>" |
| 2850 " <INPUT type=\"tel\" id=\"phone\"/>" |
| 2849 " <INPUT type=\"submit\" value=\"Send\"/>" | 2851 " <INPUT type=\"submit\" value=\"Send\"/>" |
| 2850 "</FORM>"); | 2852 "</FORM>"); |
| 2851 | 2853 |
| 2852 WebFrame* web_frame = GetMainFrame(); | 2854 WebFrame* web_frame = GetMainFrame(); |
| 2853 ASSERT_NE(static_cast<WebFrame*>(NULL), web_frame); | 2855 ASSERT_NE(static_cast<WebFrame*>(NULL), web_frame); |
| 2854 | 2856 |
| 2855 FormManager form_manager; | 2857 FormManager form_manager; |
| 2856 form_manager.ExtractForms(web_frame); | 2858 form_manager.ExtractForms(web_frame); |
| 2857 | 2859 |
| 2858 // Verify that we have the form. | 2860 // Verify that we have the form. |
| 2859 std::vector<FormData> forms; | 2861 std::vector<FormData> forms; |
| 2860 form_manager.GetFormsInFrame(web_frame, FormManager::REQUIRE_NONE, &forms); | 2862 form_manager.GetFormsInFrame(web_frame, FormManager::REQUIRE_NONE, &forms); |
| 2861 ASSERT_EQ(1U, forms.size()); | 2863 ASSERT_EQ(1U, forms.size()); |
| 2862 | 2864 |
| 2863 // Set the auto-filled attribute. | 2865 // Set the auto-filled attribute. |
| 2864 WebInputElement firstname = | 2866 WebInputElement firstname = |
| 2865 web_frame->document().getElementById("firstname").to<WebInputElement>(); | 2867 web_frame->document().getElementById("firstname").to<WebInputElement>(); |
| 2866 firstname.setAutofilled(true); | 2868 firstname.setAutofilled(true); |
| 2867 WebInputElement lastname = | 2869 WebInputElement lastname = |
| 2868 web_frame->document().getElementById("lastname").to<WebInputElement>(); | 2870 web_frame->document().getElementById("lastname").to<WebInputElement>(); |
| 2869 lastname.setAutofilled(true); | 2871 lastname.setAutofilled(true); |
| 2870 WebInputElement email = | 2872 WebInputElement email = |
| 2871 web_frame->document().getElementById("email").to<WebInputElement>(); | 2873 web_frame->document().getElementById("email").to<WebInputElement>(); |
| 2872 email.setAutofilled(true); | 2874 email.setAutofilled(true); |
| 2875 WebInputElement email2 = |
| 2876 web_frame->document().getElementById("email2").to<WebInputElement>(); |
| 2877 email2.setAutofilled(true); |
| 2878 WebInputElement phone = |
| 2879 web_frame->document().getElementById("phone").to<WebInputElement>(); |
| 2880 phone.setAutofilled(true); |
| 2873 | 2881 |
| 2874 // Set the suggested values on two of the elements. | 2882 // Set the suggested values on two of the elements. |
| 2875 lastname.setSuggestedValue(ASCIIToUTF16("Earp")); | 2883 lastname.setSuggestedValue(ASCIIToUTF16("Earp")); |
| 2876 email.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); | 2884 email.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); |
| 2885 email2.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); |
| 2886 phone.setSuggestedValue(ASCIIToUTF16("650-777-9999")); |
| 2877 | 2887 |
| 2878 // Clear the previewed fields. | 2888 // Clear the previewed fields. |
| 2879 EXPECT_TRUE(form_manager.ClearPreviewedFormWithNode(lastname, false)); | 2889 EXPECT_TRUE(form_manager.ClearPreviewedFormWithNode(lastname, false)); |
| 2880 | 2890 |
| 2881 // Fields with empty suggestions suggestions are not modified. | 2891 // Fields with empty suggestions suggestions are not modified. |
| 2882 EXPECT_EQ(ASCIIToUTF16("Wyatt"), firstname.value()); | 2892 EXPECT_EQ(ASCIIToUTF16("Wyatt"), firstname.value()); |
| 2883 EXPECT_TRUE(firstname.suggestedValue().isEmpty()); | 2893 EXPECT_TRUE(firstname.suggestedValue().isEmpty()); |
| 2884 EXPECT_TRUE(firstname.isAutofilled()); | 2894 EXPECT_TRUE(firstname.isAutofilled()); |
| 2885 | 2895 |
| 2886 // Verify the previewed fields are cleared. | 2896 // Verify the previewed fields are cleared. |
| 2887 EXPECT_TRUE(lastname.value().isEmpty()); | 2897 EXPECT_TRUE(lastname.value().isEmpty()); |
| 2888 EXPECT_TRUE(lastname.suggestedValue().isEmpty()); | 2898 EXPECT_TRUE(lastname.suggestedValue().isEmpty()); |
| 2889 EXPECT_FALSE(lastname.isAutofilled()); | 2899 EXPECT_FALSE(lastname.isAutofilled()); |
| 2890 EXPECT_TRUE(email.value().isEmpty()); | 2900 EXPECT_TRUE(email.value().isEmpty()); |
| 2891 EXPECT_TRUE(email.suggestedValue().isEmpty()); | 2901 EXPECT_TRUE(email.suggestedValue().isEmpty()); |
| 2892 EXPECT_FALSE(email.isAutofilled()); | 2902 EXPECT_FALSE(email.isAutofilled()); |
| 2903 EXPECT_TRUE(email2.value().isEmpty()); |
| 2904 EXPECT_TRUE(email2.suggestedValue().isEmpty()); |
| 2905 EXPECT_FALSE(email2.isAutofilled()); |
| 2906 EXPECT_TRUE(phone.value().isEmpty()); |
| 2907 EXPECT_TRUE(phone.suggestedValue().isEmpty()); |
| 2908 EXPECT_FALSE(phone.isAutofilled()); |
| 2893 | 2909 |
| 2894 // Verify that the cursor position has been updated. | 2910 // Verify that the cursor position has been updated. |
| 2895 EXPECT_EQ(0, lastname.selectionStart()); | 2911 EXPECT_EQ(0, lastname.selectionStart()); |
| 2896 EXPECT_EQ(0, lastname.selectionEnd()); | 2912 EXPECT_EQ(0, lastname.selectionEnd()); |
| 2897 } | 2913 } |
| 2898 | 2914 |
| 2899 TEST_F(FormManagerTest, ClearPreviewedFormWithNonEmptyInitiatingNode) { | 2915 TEST_F(FormManagerTest, ClearPreviewedFormWithNonEmptyInitiatingNode) { |
| 2900 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" | 2916 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" |
| 2901 " <INPUT type=\"text\" id=\"firstname\" value=\"W\"/>" | 2917 " <INPUT type=\"text\" id=\"firstname\" value=\"W\"/>" |
| 2902 " <INPUT type=\"text\" id=\"lastname\"/>" | 2918 " <INPUT type=\"text\" id=\"lastname\"/>" |
| 2903 " <INPUT type=\"text\" id=\"email\"/>" | 2919 " <INPUT type=\"text\" id=\"email\"/>" |
| 2920 " <INPUT type=\"email\" id=\"email2\"/>" |
| 2921 " <INPUT type=\"tel\" id=\"phone\"/>" |
| 2904 " <INPUT type=\"submit\" value=\"Send\"/>" | 2922 " <INPUT type=\"submit\" value=\"Send\"/>" |
| 2905 "</FORM>"); | 2923 "</FORM>"); |
| 2906 | 2924 |
| 2907 WebFrame* web_frame = GetMainFrame(); | 2925 WebFrame* web_frame = GetMainFrame(); |
| 2908 ASSERT_NE(static_cast<WebFrame*>(NULL), web_frame); | 2926 ASSERT_NE(static_cast<WebFrame*>(NULL), web_frame); |
| 2909 | 2927 |
| 2910 FormManager form_manager; | 2928 FormManager form_manager; |
| 2911 form_manager.ExtractForms(web_frame); | 2929 form_manager.ExtractForms(web_frame); |
| 2912 | 2930 |
| 2913 // Verify that we have the form. | 2931 // Verify that we have the form. |
| 2914 std::vector<FormData> forms; | 2932 std::vector<FormData> forms; |
| 2915 form_manager.GetFormsInFrame(web_frame, FormManager::REQUIRE_NONE, &forms); | 2933 form_manager.GetFormsInFrame(web_frame, FormManager::REQUIRE_NONE, &forms); |
| 2916 ASSERT_EQ(1U, forms.size()); | 2934 ASSERT_EQ(1U, forms.size()); |
| 2917 | 2935 |
| 2918 // Set the auto-filled attribute. | 2936 // Set the auto-filled attribute. |
| 2919 WebInputElement firstname = | 2937 WebInputElement firstname = |
| 2920 web_frame->document().getElementById("firstname").to<WebInputElement>(); | 2938 web_frame->document().getElementById("firstname").to<WebInputElement>(); |
| 2921 firstname.setAutofilled(true); | 2939 firstname.setAutofilled(true); |
| 2922 WebInputElement lastname = | 2940 WebInputElement lastname = |
| 2923 web_frame->document().getElementById("lastname").to<WebInputElement>(); | 2941 web_frame->document().getElementById("lastname").to<WebInputElement>(); |
| 2924 lastname.setAutofilled(true); | 2942 lastname.setAutofilled(true); |
| 2925 WebInputElement email = | 2943 WebInputElement email = |
| 2926 web_frame->document().getElementById("email").to<WebInputElement>(); | 2944 web_frame->document().getElementById("email").to<WebInputElement>(); |
| 2927 email.setAutofilled(true); | 2945 email.setAutofilled(true); |
| 2946 WebInputElement email2 = |
| 2947 web_frame->document().getElementById("email2").to<WebInputElement>(); |
| 2948 email2.setAutofilled(true); |
| 2949 WebInputElement phone = |
| 2950 web_frame->document().getElementById("phone").to<WebInputElement>(); |
| 2951 phone.setAutofilled(true); |
| 2952 |
| 2928 | 2953 |
| 2929 // Set the suggested values on all of the elements. | 2954 // Set the suggested values on all of the elements. |
| 2930 firstname.setSuggestedValue(ASCIIToUTF16("Wyatt")); | 2955 firstname.setSuggestedValue(ASCIIToUTF16("Wyatt")); |
| 2931 lastname.setSuggestedValue(ASCIIToUTF16("Earp")); | 2956 lastname.setSuggestedValue(ASCIIToUTF16("Earp")); |
| 2932 email.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); | 2957 email.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); |
| 2958 email2.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); |
| 2959 phone.setSuggestedValue(ASCIIToUTF16("650-777-9999")); |
| 2933 | 2960 |
| 2934 // Clear the previewed fields. | 2961 // Clear the previewed fields. |
| 2935 EXPECT_TRUE(form_manager.ClearPreviewedFormWithNode(firstname, false)); | 2962 EXPECT_TRUE(form_manager.ClearPreviewedFormWithNode(firstname, false)); |
| 2936 | 2963 |
| 2937 // Fields with non-empty values are restored. | 2964 // Fields with non-empty values are restored. |
| 2938 EXPECT_EQ(ASCIIToUTF16("W"), firstname.value()); | 2965 EXPECT_EQ(ASCIIToUTF16("W"), firstname.value()); |
| 2939 EXPECT_TRUE(firstname.suggestedValue().isEmpty()); | 2966 EXPECT_TRUE(firstname.suggestedValue().isEmpty()); |
| 2940 EXPECT_FALSE(firstname.isAutofilled()); | 2967 EXPECT_FALSE(firstname.isAutofilled()); |
| 2941 EXPECT_EQ(1, firstname.selectionStart()); | 2968 EXPECT_EQ(1, firstname.selectionStart()); |
| 2942 EXPECT_EQ(1, firstname.selectionEnd()); | 2969 EXPECT_EQ(1, firstname.selectionEnd()); |
| 2943 | 2970 |
| 2944 // Verify the previewed fields are cleared. | 2971 // Verify the previewed fields are cleared. |
| 2945 EXPECT_TRUE(lastname.value().isEmpty()); | 2972 EXPECT_TRUE(lastname.value().isEmpty()); |
| 2946 EXPECT_TRUE(lastname.suggestedValue().isEmpty()); | 2973 EXPECT_TRUE(lastname.suggestedValue().isEmpty()); |
| 2947 EXPECT_FALSE(lastname.isAutofilled()); | 2974 EXPECT_FALSE(lastname.isAutofilled()); |
| 2948 EXPECT_TRUE(email.value().isEmpty()); | 2975 EXPECT_TRUE(email.value().isEmpty()); |
| 2949 EXPECT_TRUE(email.suggestedValue().isEmpty()); | 2976 EXPECT_TRUE(email.suggestedValue().isEmpty()); |
| 2950 EXPECT_FALSE(email.isAutofilled()); | 2977 EXPECT_FALSE(email.isAutofilled()); |
| 2978 EXPECT_TRUE(email2.value().isEmpty()); |
| 2979 EXPECT_TRUE(email2.suggestedValue().isEmpty()); |
| 2980 EXPECT_FALSE(email2.isAutofilled()); |
| 2981 EXPECT_TRUE(phone.value().isEmpty()); |
| 2982 EXPECT_TRUE(phone.suggestedValue().isEmpty()); |
| 2983 EXPECT_FALSE(phone.isAutofilled()); |
| 2951 } | 2984 } |
| 2952 | 2985 |
| 2953 TEST_F(FormManagerTest, ClearPreviewedFormWithAutofilledInitiatingNode) { | 2986 TEST_F(FormManagerTest, ClearPreviewedFormWithAutofilledInitiatingNode) { |
| 2954 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" | 2987 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" |
| 2955 " <INPUT type=\"text\" id=\"firstname\" value=\"W\"/>" | 2988 " <INPUT type=\"text\" id=\"firstname\" value=\"W\"/>" |
| 2956 " <INPUT type=\"text\" id=\"lastname\"/>" | 2989 " <INPUT type=\"text\" id=\"lastname\"/>" |
| 2957 " <INPUT type=\"text\" id=\"email\"/>" | 2990 " <INPUT type=\"text\" id=\"email\"/>" |
| 2991 " <INPUT type=\"email\" id=\"email2\"/>" |
| 2992 " <INPUT type=\"tel\" id=\"phone\"/>" |
| 2958 " <INPUT type=\"submit\" value=\"Send\"/>" | 2993 " <INPUT type=\"submit\" value=\"Send\"/>" |
| 2959 "</FORM>"); | 2994 "</FORM>"); |
| 2960 | 2995 |
| 2961 WebFrame* web_frame = GetMainFrame(); | 2996 WebFrame* web_frame = GetMainFrame(); |
| 2962 ASSERT_NE(static_cast<WebFrame*>(NULL), web_frame); | 2997 ASSERT_NE(static_cast<WebFrame*>(NULL), web_frame); |
| 2963 | 2998 |
| 2964 FormManager form_manager; | 2999 FormManager form_manager; |
| 2965 form_manager.ExtractForms(web_frame); | 3000 form_manager.ExtractForms(web_frame); |
| 2966 | 3001 |
| 2967 // Verify that we have the form. | 3002 // Verify that we have the form. |
| 2968 std::vector<FormData> forms; | 3003 std::vector<FormData> forms; |
| 2969 form_manager.GetFormsInFrame(web_frame, FormManager::REQUIRE_NONE, &forms); | 3004 form_manager.GetFormsInFrame(web_frame, FormManager::REQUIRE_NONE, &forms); |
| 2970 ASSERT_EQ(1U, forms.size()); | 3005 ASSERT_EQ(1U, forms.size()); |
| 2971 | 3006 |
| 2972 // Set the auto-filled attribute. | 3007 // Set the auto-filled attribute. |
| 2973 WebInputElement firstname = | 3008 WebInputElement firstname = |
| 2974 web_frame->document().getElementById("firstname").to<WebInputElement>(); | 3009 web_frame->document().getElementById("firstname").to<WebInputElement>(); |
| 2975 firstname.setAutofilled(true); | 3010 firstname.setAutofilled(true); |
| 2976 WebInputElement lastname = | 3011 WebInputElement lastname = |
| 2977 web_frame->document().getElementById("lastname").to<WebInputElement>(); | 3012 web_frame->document().getElementById("lastname").to<WebInputElement>(); |
| 2978 lastname.setAutofilled(true); | 3013 lastname.setAutofilled(true); |
| 2979 WebInputElement email = | 3014 WebInputElement email = |
| 2980 web_frame->document().getElementById("email").to<WebInputElement>(); | 3015 web_frame->document().getElementById("email").to<WebInputElement>(); |
| 2981 email.setAutofilled(true); | 3016 email.setAutofilled(true); |
| 3017 WebInputElement email2 = |
| 3018 web_frame->document().getElementById("email2").to<WebInputElement>(); |
| 3019 email2.setAutofilled(true); |
| 3020 WebInputElement phone = |
| 3021 web_frame->document().getElementById("phone").to<WebInputElement>(); |
| 3022 phone.setAutofilled(true); |
| 2982 | 3023 |
| 2983 // Set the suggested values on all of the elements. | 3024 // Set the suggested values on all of the elements. |
| 2984 firstname.setSuggestedValue(ASCIIToUTF16("Wyatt")); | 3025 firstname.setSuggestedValue(ASCIIToUTF16("Wyatt")); |
| 2985 lastname.setSuggestedValue(ASCIIToUTF16("Earp")); | 3026 lastname.setSuggestedValue(ASCIIToUTF16("Earp")); |
| 2986 email.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); | 3027 email.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); |
| 3028 email2.setSuggestedValue(ASCIIToUTF16("wyatt@earp.com")); |
| 3029 phone.setSuggestedValue(ASCIIToUTF16("650-777-9999")); |
| 2987 | 3030 |
| 2988 // Clear the previewed fields. | 3031 // Clear the previewed fields. |
| 2989 EXPECT_TRUE(form_manager.ClearPreviewedFormWithNode(firstname, true)); | 3032 EXPECT_TRUE(form_manager.ClearPreviewedFormWithNode(firstname, true)); |
| 2990 | 3033 |
| 2991 // Fields with non-empty values are restored. | 3034 // Fields with non-empty values are restored. |
| 2992 EXPECT_EQ(ASCIIToUTF16("W"), firstname.value()); | 3035 EXPECT_EQ(ASCIIToUTF16("W"), firstname.value()); |
| 2993 EXPECT_TRUE(firstname.suggestedValue().isEmpty()); | 3036 EXPECT_TRUE(firstname.suggestedValue().isEmpty()); |
| 2994 EXPECT_TRUE(firstname.isAutofilled()); | 3037 EXPECT_TRUE(firstname.isAutofilled()); |
| 2995 EXPECT_EQ(1, firstname.selectionStart()); | 3038 EXPECT_EQ(1, firstname.selectionStart()); |
| 2996 EXPECT_EQ(1, firstname.selectionEnd()); | 3039 EXPECT_EQ(1, firstname.selectionEnd()); |
| 2997 | 3040 |
| 2998 // Verify the previewed fields are cleared. | 3041 // Verify the previewed fields are cleared. |
| 2999 EXPECT_TRUE(lastname.value().isEmpty()); | 3042 EXPECT_TRUE(lastname.value().isEmpty()); |
| 3000 EXPECT_TRUE(lastname.suggestedValue().isEmpty()); | 3043 EXPECT_TRUE(lastname.suggestedValue().isEmpty()); |
| 3001 EXPECT_FALSE(lastname.isAutofilled()); | 3044 EXPECT_FALSE(lastname.isAutofilled()); |
| 3002 EXPECT_TRUE(email.value().isEmpty()); | 3045 EXPECT_TRUE(email.value().isEmpty()); |
| 3003 EXPECT_TRUE(email.suggestedValue().isEmpty()); | 3046 EXPECT_TRUE(email.suggestedValue().isEmpty()); |
| 3004 EXPECT_FALSE(email.isAutofilled()); | 3047 EXPECT_FALSE(email.isAutofilled()); |
| 3048 EXPECT_TRUE(email2.value().isEmpty()); |
| 3049 EXPECT_TRUE(email2.suggestedValue().isEmpty()); |
| 3050 EXPECT_FALSE(email2.isAutofilled()); |
| 3051 EXPECT_TRUE(phone.value().isEmpty()); |
| 3052 EXPECT_TRUE(phone.suggestedValue().isEmpty()); |
| 3053 EXPECT_FALSE(phone.isAutofilled()); |
| 3005 } | 3054 } |
| 3006 | 3055 |
| 3007 TEST_F(FormManagerTest, FormWithNodeIsAutoFilled) { | 3056 TEST_F(FormManagerTest, FormWithNodeIsAutoFilled) { |
| 3008 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" | 3057 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" |
| 3009 " <INPUT type=\"text\" id=\"firstname\" value=\"Wyatt\"/>" | 3058 " <INPUT type=\"text\" id=\"firstname\" value=\"Wyatt\"/>" |
| 3010 " <INPUT type=\"text\" id=\"lastname\"/>" | 3059 " <INPUT type=\"text\" id=\"lastname\"/>" |
| 3011 " <INPUT type=\"text\" id=\"email\"/>" | 3060 " <INPUT type=\"text\" id=\"email\"/>" |
| 3061 " <INPUT type=\"email\" id=\"email2\"/>" |
| 3062 " <INPUT type=\"tel\" id=\"phone\"/>" |
| 3012 " <INPUT type=\"submit\" value=\"Send\"/>" | 3063 " <INPUT type=\"submit\" value=\"Send\"/>" |
| 3013 "</FORM>"); | 3064 "</FORM>"); |
| 3014 | 3065 |
| 3015 WebFrame* web_frame = GetMainFrame(); | 3066 WebFrame* web_frame = GetMainFrame(); |
| 3016 ASSERT_NE(static_cast<WebFrame*>(NULL), web_frame); | 3067 ASSERT_NE(static_cast<WebFrame*>(NULL), web_frame); |
| 3017 | 3068 |
| 3018 FormManager form_manager; | 3069 FormManager form_manager; |
| 3019 form_manager.ExtractForms(web_frame); | 3070 form_manager.ExtractForms(web_frame); |
| 3020 | 3071 |
| 3021 // Verify that we have the form. | 3072 // Verify that we have the form. |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3206 EXPECT_TRUE(fields[3].StrictlyEqualsHack( | 3257 EXPECT_TRUE(fields[3].StrictlyEqualsHack( |
| 3207 FormField(string16(), | 3258 FormField(string16(), |
| 3208 ASCIIToUTF16("reply-send"), | 3259 ASCIIToUTF16("reply-send"), |
| 3209 string16(), | 3260 string16(), |
| 3210 ASCIIToUTF16("submit"), | 3261 ASCIIToUTF16("submit"), |
| 3211 0, | 3262 0, |
| 3212 false))); | 3263 false))); |
| 3213 } | 3264 } |
| 3214 | 3265 |
| 3215 } // namespace | 3266 } // namespace |
| OLD | NEW |