Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1161)

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillPopupTest.java

Issue 1250683002: Reland: Move autofill tests chrome ChromeShellTest to ChromePublicTest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 package org.chromium.chrome.browser.autofill; 5 package org.chromium.chrome.browser.autofill;
6 6
7 import android.test.suitebuilder.annotation.MediumTest; 7 import android.test.suitebuilder.annotation.MediumTest;
8 import android.text.TextUtils; 8 import android.text.TextUtils;
9 import android.view.View; 9 import android.view.View;
10 import android.view.ViewGroup; 10 import android.view.ViewGroup;
11 11
12 import org.chromium.base.ThreadUtils; 12 import org.chromium.base.ThreadUtils;
13 import org.chromium.base.test.util.Feature; 13 import org.chromium.base.test.util.Feature;
14 import org.chromium.base.test.util.UrlUtils; 14 import org.chromium.base.test.util.UrlUtils;
15 import org.chromium.chrome.R; 15 import org.chromium.chrome.R;
16 import org.chromium.chrome.browser.ChromeActivity;
16 import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; 17 import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile;
17 import org.chromium.chrome.shell.ChromeShellTestBase; 18 import org.chromium.chrome.test.ChromeActivityTestCaseBase;
18 import org.chromium.content.browser.ContentViewCore; 19 import org.chromium.content.browser.ContentViewCore;
19 import org.chromium.content.browser.test.util.Criteria; 20 import org.chromium.content.browser.test.util.Criteria;
20 import org.chromium.content.browser.test.util.CriteriaHelper; 21 import org.chromium.content.browser.test.util.CriteriaHelper;
21 import org.chromium.content.browser.test.util.DOMUtils; 22 import org.chromium.content.browser.test.util.DOMUtils;
22 import org.chromium.content.browser.test.util.TestInputMethodManagerWrapper; 23 import org.chromium.content.browser.test.util.TestInputMethodManagerWrapper;
23 import org.chromium.content.browser.test.util.TouchCommon; 24 import org.chromium.content.browser.test.util.TouchCommon;
24 import org.chromium.content_public.browser.WebContents; 25 import org.chromium.content_public.browser.WebContents;
25 import org.chromium.ui.autofill.AutofillPopup; 26 import org.chromium.ui.autofill.AutofillPopup;
26 27
27 import java.util.ArrayList; 28 import java.util.ArrayList;
28 import java.util.List; 29 import java.util.List;
29 import java.util.concurrent.ExecutionException; 30 import java.util.concurrent.ExecutionException;
30 import java.util.concurrent.TimeoutException; 31 import java.util.concurrent.TimeoutException;
31 32
32 /** 33 /**
33 * Integration tests for the AutofillPopup. 34 * Integration tests for the AutofillPopup.
34 */ 35 */
35 public class AutofillPopupTest extends ChromeShellTestBase { 36 public class AutofillPopupTest extends ChromeActivityTestCaseBase<ChromeActivity > {
36 37
37 private static final String FIRST_NAME = "John"; 38 private static final String FIRST_NAME = "John";
38 private static final String LAST_NAME = "Smith"; 39 private static final String LAST_NAME = "Smith";
39 private static final String COMPANY_NAME = "Acme Inc."; 40 private static final String COMPANY_NAME = "Acme Inc.";
40 private static final String ADDRESS_LINE1 = "1 Main"; 41 private static final String ADDRESS_LINE1 = "1 Main";
41 private static final String ADDRESS_LINE2 = "Apt A"; 42 private static final String ADDRESS_LINE2 = "Apt A";
42 private static final String STREET_ADDRESS_TEXTAREA = ADDRESS_LINE1 + "\n" + ADDRESS_LINE2; 43 private static final String STREET_ADDRESS_TEXTAREA = ADDRESS_LINE1 + "\n" + ADDRESS_LINE2;
43 private static final String CITY = "San Francisco"; 44 private static final String CITY = "San Francisco";
44 private static final String DEPENDENT_LOCALITY = ""; 45 private static final String DEPENDENT_LOCALITY = "";
45 private static final String STATE = "CA"; 46 private static final String STATE = "CA";
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 + "<select id=\"co\" autocomplete=\"country\"><br>" 112 + "<select id=\"co\" autocomplete=\"country\"><br>"
112 + "<option value=\"GB\">Great Britain</option>" 113 + "<option value=\"GB\">Great Britain</option>"
113 + "<option value=\"BR\">Brazil</option>" 114 + "<option value=\"BR\">Brazil</option>"
114 + "</select>" 115 + "</select>"
115 + "<input type=\"submit\" />" 116 + "<input type=\"submit\" />"
116 + "</form></body></html>"); 117 + "</form></body></html>");
117 118
118 private AutofillTestHelper mHelper; 119 private AutofillTestHelper mHelper;
119 private List<AutofillLogger.LogEntry> mAutofillLoggedEntries; 120 private List<AutofillLogger.LogEntry> mAutofillLoggedEntries;
120 121
122 public AutofillPopupTest() {
123 super(ChromeActivity.class);
124 }
125
126 @Override
127 public void startMainActivity() throws InterruptedException {
128 // Don't launch activity automatically.
129 }
130
121 @Override 131 @Override
122 public void setUp() throws Exception { 132 public void setUp() throws Exception {
123 super.setUp(); 133 super.setUp();
124 clearAppData();
125 mAutofillLoggedEntries = new ArrayList<AutofillLogger.LogEntry>(); 134 mAutofillLoggedEntries = new ArrayList<AutofillLogger.LogEntry>();
126 AutofillLogger.setLogger( 135 AutofillLogger.setLogger(
127 new AutofillLogger.Logger() { 136 new AutofillLogger.Logger() {
128 @Override 137 @Override
129 public void didFillField(AutofillLogger.LogEntry logEntry) { 138 public void didFillField(AutofillLogger.LogEntry logEntry) {
130 mAutofillLoggedEntries.add(logEntry); 139 mAutofillLoggedEntries.add(logEntry);
131 } 140 }
132 } 141 }
133 ); 142 );
134 } 143 }
135 144
136 private void loadAndFillForm( 145 private void loadAndFillForm(
137 final String formDataUrl, final String inputText) 146 final String formDataUrl, final String inputText)
138 throws InterruptedException, ExecutionException, TimeoutException { 147 throws InterruptedException, ExecutionException, TimeoutException {
139 launchChromeShellWithUrl(formDataUrl); 148 startMainActivityWithURL(formDataUrl);
140 assertTrue(waitForActiveShellToBeDoneLoading());
141 mHelper = new AutofillTestHelper(); 149 mHelper = new AutofillTestHelper();
142 150
143 // The TestInputMethodManagerWrapper intercepts showSoftInput so that a keyboard is never 151 // The TestInputMethodManagerWrapper intercepts showSoftInput so that a keyboard is never
144 // brought up. 152 // brought up.
145 final ContentViewCore viewCore = getActivity().getActiveContentViewCore( ); 153 final ContentViewCore viewCore = getActivity().getCurrentContentViewCore ();
146 final WebContents webContents = viewCore.getWebContents(); 154 final WebContents webContents = viewCore.getWebContents();
147 final ViewGroup view = viewCore.getContainerView(); 155 final ViewGroup view = viewCore.getContainerView();
148 final TestInputMethodManagerWrapper immw = 156 final TestInputMethodManagerWrapper immw =
149 new TestInputMethodManagerWrapper(viewCore); 157 new TestInputMethodManagerWrapper(viewCore);
150 viewCore.getImeAdapterForTest().setInputMethodManagerWrapper(immw); 158 viewCore.getImeAdapterForTest().setInputMethodManagerWrapper(immw);
151 159
152 // Add an Autofill profile. 160 // Add an Autofill profile.
153 AutofillProfile profile = new AutofillProfile( 161 AutofillProfile profile = new AutofillProfile(
154 "" /* guid */, ORIGIN, FIRST_NAME + " " + LAST_NAME, COMPANY_NAM E, 162 "" /* guid */, ORIGIN, FIRST_NAME + " " + LAST_NAME, COMPANY_NAM E,
155 STREET_ADDRESS_TEXTAREA, 163 STREET_ADDRESS_TEXTAREA,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 196
189 /** 197 /**
190 * Tests that bringing up an Autofill and clicking on the first entry fills out the expected 198 * Tests that bringing up an Autofill and clicking on the first entry fills out the expected
191 * Autofill information. 199 * Autofill information.
192 */ 200 */
193 @MediumTest 201 @MediumTest
194 @Feature({"autofill"}) 202 @Feature({"autofill"})
195 public void testClickAutofillPopupSuggestion() 203 public void testClickAutofillPopupSuggestion()
196 throws InterruptedException, ExecutionException, TimeoutException { 204 throws InterruptedException, ExecutionException, TimeoutException {
197 loadAndFillForm(BASIC_PAGE_DATA, "J"); 205 loadAndFillForm(BASIC_PAGE_DATA, "J");
198 final ContentViewCore viewCore = getActivity().getActiveContentViewCore( ); 206 final ContentViewCore viewCore = getActivity().getCurrentContentViewCore ();
199 final WebContents webContents = viewCore.getWebContents(); 207 final WebContents webContents = viewCore.getWebContents();
200 208
201 assertEquals("First name did not match", 209 assertEquals("First name did not match",
202 FIRST_NAME, DOMUtils.getNodeValue(webContents, "fn")); 210 FIRST_NAME, DOMUtils.getNodeValue(webContents, "fn"));
203 assertEquals("Last name did not match", 211 assertEquals("Last name did not match",
204 LAST_NAME, DOMUtils.getNodeValue(webContents, "ln")); 212 LAST_NAME, DOMUtils.getNodeValue(webContents, "ln"));
205 assertEquals("Street address (textarea) did not match", 213 assertEquals("Street address (textarea) did not match",
206 STREET_ADDRESS_TEXTAREA, DOMUtils.getNodeValue(webContents, "sa" )); 214 STREET_ADDRESS_TEXTAREA, DOMUtils.getNodeValue(webContents, "sa" ));
207 assertEquals("Address line 1 did not match", 215 assertEquals("Address line 1 did not match",
208 ADDRESS_LINE1, DOMUtils.getNodeValue(webContents, "a1")); 216 ADDRESS_LINE1, DOMUtils.getNodeValue(webContents, "a1"));
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 private void assertLogged(String autofilledValue, String profileFullName) { 353 private void assertLogged(String autofilledValue, String profileFullName) {
346 for (AutofillLogger.LogEntry entry : mAutofillLoggedEntries) { 354 for (AutofillLogger.LogEntry entry : mAutofillLoggedEntries) {
347 if (entry.getAutofilledValue().equals(autofilledValue) 355 if (entry.getAutofilledValue().equals(autofilledValue)
348 && entry.getProfileFullName().equals(profileFullName)) { 356 && entry.getProfileFullName().equals(profileFullName)) {
349 return; 357 return;
350 } 358 }
351 } 359 }
352 fail("Logged entry not found [" + autofilledValue + "," + profileFullNam e + "]"); 360 fail("Logged entry not found [" + autofilledValue + "," + profileFullNam e + "]");
353 } 361 }
354 } 362 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698