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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Issue 2170603006: [Payments] Use the correct index when checking addresses (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comment Created 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
index a138fb42285c69fb0b5e54d514be78f3174df255..243160e525201e977902e51d5ffa3ea1f26c6a94 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
@@ -20,6 +20,7 @@ import org.chromium.chrome.browser.autofill.CardUnmaskPrompt.CardUnmaskObserverF
import org.chromium.chrome.browser.payments.PaymentRequestImpl.PaymentRequestServiceObserverForTest;
import org.chromium.chrome.browser.payments.ui.EditorTextField;
import org.chromium.chrome.browser.payments.ui.PaymentRequestSection.OptionSection;
+import org.chromium.chrome.browser.payments.ui.PaymentRequestSection.OptionSection.OptionRow;
import org.chromium.chrome.browser.payments.ui.PaymentRequestUI;
import org.chromium.chrome.browser.payments.ui.PaymentRequestUI.PaymentRequestObserverForTest;
import org.chromium.chrome.test.ChromeActivityTestCaseBase;
@@ -45,6 +46,7 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA
protected final PaymentsCallbackHelper<PaymentRequestUI> mReadyForInput;
protected final PaymentsCallbackHelper<PaymentRequestUI> mReadyToPay;
protected final PaymentsCallbackHelper<PaymentRequestUI> mReadyToClose;
+ protected final PaymentsCallbackHelper<PaymentRequestUI> mSelectionChecked;
protected final PaymentsCallbackHelper<PaymentRequestUI> mResultReady;
protected final PaymentsCallbackHelper<CardUnmaskPrompt> mReadyForUnmaskInput;
protected final PaymentsCallbackHelper<CardUnmaskPrompt> mReadyToUnmask;
@@ -67,6 +69,7 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA
mReadyForInput = new PaymentsCallbackHelper<>();
mReadyToPay = new PaymentsCallbackHelper<>();
mReadyToClose = new PaymentsCallbackHelper<>();
+ mSelectionChecked = new PaymentsCallbackHelper<>();
mResultReady = new PaymentsCallbackHelper<>();
mReadyForUnmaskInput = new PaymentsCallbackHelper<>();
mReadyToUnmask = new PaymentsCallbackHelper<>();
@@ -288,7 +291,28 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA
}
/**
- * Returns the the number of shipping address suggestions,
+ * Clicks on the label corresponding to the shipping address suggestion at the specified
+ * |suggestionIndex|.
+ * @throws InterruptedException
+ */
+ protected void clickOnShippingAddressSuggestionOptionAndWait(
+ final int suggestionIndex, CallbackHelper helper)
+ throws ExecutionException, TimeoutException, InterruptedException {
+ assert (suggestionIndex < getNumberOfShippingAddressSuggestions());
+
+ int callCount = helper.getCallCount();
+ ThreadUtils.runOnUiThreadBlocking(new Runnable() {
+ @Override
+ public void run() {
+ ((OptionSection) mUI.getShippingAddressSectionForTest())
+ .getOptionLabelsForTest(suggestionIndex).performClick();
+ }
+ });
+ helper.waitForCallback(callCount);
+ }
+
+ /**
+ * Returns the the number of shipping address suggestions.
*/
protected int getNumberOfShippingAddressSuggestions() throws ExecutionException {
return ThreadUtils.runOnUiThreadBlocking(new Callable<Integer>() {
@@ -300,6 +324,18 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA
});
}
+ /** Returns the {@link OptionRow} at the given index for the shipping address section. */
+ protected OptionRow getShippingAddressOptionRowAtIndex(final int index)
+ throws ExecutionException {
+ return ThreadUtils.runOnUiThreadBlocking(new Callable<OptionRow>() {
+ @Override
+ public OptionRow call() {
+ return ((OptionSection) mUI.getShippingAddressSectionForTest())
+ .getOptionRowAtIndex(index);
+ }
+ });
+ }
+
/** Selects the spinner value in the editor UI for credit cards. */
protected void setSpinnerSelectionsInCardEditorAndWait(final int[] selections,
CallbackHelper helper) throws InterruptedException, TimeoutException {
@@ -460,6 +496,12 @@ abstract class PaymentRequestTestBase extends ChromeActivityTestCaseBase<ChromeA
}
@Override
+ public void onPaymentRequestSelectionChecked(PaymentRequestUI ui) {
+ ThreadUtils.assertOnUiThread();
+ mSelectionChecked.notifyCalled(ui);
+ }
+
+ @Override
public void onPaymentRequestResultReady(PaymentRequestUI ui) {
ThreadUtils.assertOnUiThread();
mResultReady.notifyCalled(ui);
« no previous file with comments | « chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestDynamicShippingMultipleAddressesTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698