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

Side by Side Diff: chrome/android/junit/src/org/chromium/chrome/browser/payments/AndroidPaymentAppFinderTest.java

Issue 2793573002: [Payments] Use <meta-data> tag instead of intent filter data to detect supported payment methods. (Closed)
Patch Set: move <meta-data> to pay activity Created 3 years, 8 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
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/payments/PackageManagerDelegate.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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.payments; 5 package org.chromium.chrome.browser.payments;
6 6
7 import android.content.Intent; 7 import android.content.Intent;
8 import android.content.pm.ActivityInfo; 8 import android.content.pm.ActivityInfo;
9 import android.content.pm.ApplicationInfo;
9 import android.content.pm.PackageInfo; 10 import android.content.pm.PackageInfo;
10 import android.content.pm.ResolveInfo; 11 import android.content.pm.ResolveInfo;
11 import android.content.pm.ServiceInfo; 12 import android.content.pm.ServiceInfo;
12 import android.content.pm.Signature; 13 import android.content.pm.Signature;
13 import android.net.Uri; 14 import android.content.res.Resources;
15 import android.os.Bundle;
14 16
15 import org.junit.Test; 17 import org.junit.Test;
16 import org.junit.runner.RunWith; 18 import org.junit.runner.RunWith;
17 import org.mockito.ArgumentMatcher; 19 import org.mockito.ArgumentMatcher;
18 import org.mockito.ArgumentMatchers; 20 import org.mockito.ArgumentMatchers;
19 import org.mockito.Mockito; 21 import org.mockito.Mockito;
20 import org.robolectric.RobolectricTestRunner; 22 import org.robolectric.RobolectricTestRunner;
21 import org.robolectric.annotation.Config; 23 import org.robolectric.annotation.Config;
22 24
23 import org.chromium.chrome.browser.payments.PaymentAppFactory.PaymentAppCreatedC allback; 25 import org.chromium.chrome.browser.payments.PaymentAppFactory.PaymentAppCreatedC allback;
24 import org.chromium.components.payments.PaymentManifestDownloader; 26 import org.chromium.components.payments.PaymentManifestDownloader;
25 import org.chromium.components.payments.PaymentManifestParser; 27 import org.chromium.components.payments.PaymentManifestParser;
26 import org.chromium.content_public.browser.WebContents; 28 import org.chromium.content_public.browser.WebContents;
27 import org.chromium.payments.mojom.PaymentManifestSection; 29 import org.chromium.payments.mojom.PaymentManifestSection;
28 30
29 import java.net.URI; 31 import java.net.URI;
30 import java.util.ArrayList; 32 import java.util.ArrayList;
31 import java.util.HashSet; 33 import java.util.HashSet;
32 import java.util.List; 34 import java.util.List;
33 import java.util.Set; 35 import java.util.Set;
34 36
35 /** Tests for the native Android payment app finder. */ 37 /** Tests for the native Android payment app finder. */
36 @RunWith(RobolectricTestRunner.class) 38 @RunWith(RobolectricTestRunner.class)
37 @Config(sdk = 21, manifest = Config.NONE) 39 @Config(sdk = 21, manifest = Config.NONE)
38 public class AndroidPaymentAppFinderTest { 40 public class AndroidPaymentAppFinderTest {
41 private static final IntentArgumentMatcher sPayIntentArgumentMatcher =
42 new IntentArgumentMatcher(new Intent("org.chromium.intent.action.PAY "));
43
39 public AndroidPaymentAppFinderTest() {} 44 public AndroidPaymentAppFinderTest() {}
40 45
41 /** 46 /**
42 * Argument matcher that matches Intents using |filterEquals| method. 47 * Argument matcher that matches Intents using |filterEquals| method.
43 */ 48 */
44 private static class IntentArgumentMatcher implements ArgumentMatcher<Intent > { 49 private static class IntentArgumentMatcher implements ArgumentMatcher<Intent > {
45 50
46 private final Intent mIntent; 51 private final Intent mIntent;
47 52
48 public IntentArgumentMatcher(Intent intent) { 53 public IntentArgumentMatcher(Intent intent) {
(...skipping 23 matching lines...) Expand all
72 Mockito.mock(PaymentManifestDownloader.class), 77 Mockito.mock(PaymentManifestDownloader.class),
73 Mockito.mock(PaymentManifestParser.class), 78 Mockito.mock(PaymentManifestParser.class),
74 Mockito.mock(PackageManagerDelegate.class), callback); 79 Mockito.mock(PackageManagerDelegate.class), callback);
75 80
76 Mockito.verify(callback, Mockito.never()) 81 Mockito.verify(callback, Mockito.never())
77 .onPaymentAppCreated(Mockito.any(PaymentApp.class)); 82 .onPaymentAppCreated(Mockito.any(PaymentApp.class));
78 Mockito.verify(callback).onAllPaymentAppsCreated(); 83 Mockito.verify(callback).onAllPaymentAppsCreated();
79 } 84 }
80 85
81 @Test 86 @Test
82 public void testQueryBasicCardsWithoutApps() { 87 public void testQueryWithoutApps() {
83 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class); 88 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
84 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntent( 89 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
85 ArgumentMatchers.argThat(new IntentArgumentMatcher( 90 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
86 new Intent(AndroidPaymentAppFinder.ACTION_PAY_BASIC_CARD )))))
87 .thenReturn(new ArrayList<ResolveInfo>()); 91 .thenReturn(new ArrayList<ResolveInfo>());
88 Set<String> methodNames = new HashSet<>(); 92 Set<String> methodNames = new HashSet<>();
89 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD); 93 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD);
90 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class); 94 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
91 95
92 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, false, 96 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, false,
93 Mockito.mock(PaymentManifestDownloader.class), 97 Mockito.mock(PaymentManifestDownloader.class),
94 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback); 98 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
95 99
100 Mockito.verify(packageManagerDelegate, Mockito.never())
101 .getResourcesForApplication(ArgumentMatchers.anyObject());
96 Mockito.verify(callback, Mockito.never()) 102 Mockito.verify(callback, Mockito.never())
97 .onPaymentAppCreated(Mockito.any(PaymentApp.class)); 103 .onPaymentAppCreated(Mockito.any(PaymentApp.class));
98 Mockito.verify(callback).onAllPaymentAppsCreated(); 104 Mockito.verify(callback).onAllPaymentAppsCreated();
99 } 105 }
100 106
101 @Test 107 @Test
102 public void testQueryBasicCardsWithTwoApps() { 108 public void testQueryWithoutMetaData() {
103 List<ResolveInfo> activities = new ArrayList<>(); 109 List<ResolveInfo> activities = new ArrayList<>();
104 ResolveInfo alicePay = new ResolveInfo(); 110 ResolveInfo alicePay = new ResolveInfo();
105 alicePay.activityInfo = new ActivityInfo(); 111 alicePay.activityInfo = new ActivityInfo();
106 alicePay.activityInfo.packageName = "com.alicepay.app"; 112 alicePay.activityInfo.packageName = "com.alicepay.app";
107 alicePay.activityInfo.name = "com.alicepay.app.WebPaymentActivity"; 113 alicePay.activityInfo.name = "com.alicepay.app.WebPaymentActivity";
108 activities.add(alicePay); 114 activities.add(alicePay);
109 ResolveInfo bobPay = new ResolveInfo(); 115
110 bobPay.activityInfo = new ActivityInfo();
111 bobPay.activityInfo.packageName = "com.bobpay.app";
112 bobPay.activityInfo.name = "com.bobpay.app.WebPaymentActivity";
113 activities.add(bobPay);
114 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class); 116 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
115 Mockito.when(packageManagerDelegate.getAppLabel(Mockito.any(ResolveInfo. class))) 117 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
116 .thenReturn("A non-empty label"); 118 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
117 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntent(
118 ArgumentMatchers.argThat(new IntentArgumentMatcher(
119 new Intent(AndroidPaymentAppFinder.ACTION_PAY_BASIC_CARD )))))
120 .thenReturn(activities); 119 .thenReturn(activities);
121 Mockito.when(packageManagerDelegate.getServicesThatCanRespondToIntent( 120
122 ArgumentMatchers.argThat(new IntentArgumentMatcher(
123 new Intent(AndroidPaymentAppFinder.ACTION_IS_READY_TO_PA Y)))))
124 .thenReturn(new ArrayList<ResolveInfo>());
125 Set<String> methodNames = new HashSet<>(); 121 Set<String> methodNames = new HashSet<>();
126 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD); 122 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD);
127 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class); 123 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
128 124
129 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, false, 125 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, false,
130 Mockito.mock(PaymentManifestDownloader.class), 126 Mockito.mock(PaymentManifestDownloader.class),
131 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback); 127 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
132 128
129 Mockito.verify(packageManagerDelegate, Mockito.never())
130 .getResourcesForApplication(ArgumentMatchers.anyObject());
131 Mockito.verify(callback, Mockito.never())
132 .onPaymentAppCreated(Mockito.any(PaymentApp.class));
133 Mockito.verify(callback).onAllPaymentAppsCreated();
134 }
135
136 @Test
137 public void testQueryWithUnsupportedPaymentMethod() {
138 List<ResolveInfo> activities = new ArrayList<>();
139 ResolveInfo alicePay = new ResolveInfo();
140 alicePay.activityInfo = new ActivityInfo();
141 alicePay.activityInfo.packageName = "com.alicepay.app";
142 alicePay.activityInfo.name = "com.alicepay.app.WebPaymentActivity";
143 Bundle activityMetaData = new Bundle();
144 activityMetaData.putString(
145 AndroidPaymentAppFinder.META_DATA_NAME_OF_DEFAULT_PAYMENT_METHOD _NAME,
146 "https://alicepay.com");
147 alicePay.activityInfo.metaData = activityMetaData;
148 activities.add(alicePay);
149
150 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
151 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
152 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
153 .thenReturn(activities);
154
155 Set<String> methodNames = new HashSet<>();
156 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD);
157 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
158
159 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, false,
160 Mockito.mock(PaymentManifestDownloader.class),
161 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
162
163 Mockito.verify(packageManagerDelegate, Mockito.never())
164 .getResourcesForApplication(ArgumentMatchers.anyObject());
165 Mockito.verify(callback, Mockito.never())
166 .onPaymentAppCreated(Mockito.any(PaymentApp.class));
167 Mockito.verify(callback).onAllPaymentAppsCreated();
168 }
169
170 @Test
171 public void testQueryBasicCardsWithTwoApps() {
172 List<ResolveInfo> activities = new ArrayList<>();
173 ResolveInfo alicePay = new ResolveInfo();
174 alicePay.activityInfo = new ActivityInfo();
175 alicePay.activityInfo.packageName = "com.alicepay.app";
176 alicePay.activityInfo.name = "com.alicepay.app.WebPaymentActivity";
177 alicePay.activityInfo.applicationInfo = new ApplicationInfo();
178 Bundle alicePayMetaData = new Bundle();
179 alicePayMetaData.putString(
180 AndroidPaymentAppFinder.META_DATA_NAME_OF_DEFAULT_PAYMENT_METHOD _NAME,
181 "https://alicepay.com");
182 alicePayMetaData.putInt(AndroidPaymentAppFinder.META_DATA_NAME_OF_PAYMEN T_METHOD_NAMES, 1);
183 alicePay.activityInfo.metaData = alicePayMetaData;
184 activities.add(alicePay);
185
186 ResolveInfo bobPay = new ResolveInfo();
187 bobPay.activityInfo = new ActivityInfo();
188 bobPay.activityInfo.packageName = "com.bobpay.app";
189 bobPay.activityInfo.name = "com.bobpay.app.WebPaymentActivity";
190 bobPay.activityInfo.applicationInfo = new ApplicationInfo();
191 Bundle bobPayMetaData = new Bundle();
192 bobPayMetaData.putString(
193 AndroidPaymentAppFinder.META_DATA_NAME_OF_DEFAULT_PAYMENT_METHOD _NAME,
194 "https://bobpay.com");
195 bobPayMetaData.putInt(AndroidPaymentAppFinder.META_DATA_NAME_OF_PAYMENT_ METHOD_NAMES, 2);
196 bobPay.activityInfo.metaData = bobPayMetaData;
197 activities.add(bobPay);
198
199 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
200 Mockito.when(packageManagerDelegate.getAppLabel(Mockito.any(ResolveInfo. class)))
201 .thenReturn("A non-empty label");
202 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
203 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
204 .thenReturn(activities);
205 Mockito.when(packageManagerDelegate.getServicesThatCanRespondToIntent(
206 ArgumentMatchers.argThat(new IntentArgumentMatcher(
207 new Intent(AndroidPaymentAppFinder.ACTION_I S_READY_TO_PAY)))))
208 .thenReturn(new ArrayList<ResolveInfo>());
209
210 Resources resouces = Mockito.mock(Resources.class);
211 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(1)))
212 .thenReturn(new String[] {
213 "https://alicepay.com", AndroidPaymentAppFinder.BASIC_CA RD_PAYMENT_METHOD});
214 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(2)))
215 .thenReturn(new String[] {
216 "https://bobpay.com", AndroidPaymentAppFinder.BASIC_CARD _PAYMENT_METHOD});
217
218 Mockito.when(packageManagerDelegate.getResourcesForApplication(
219 ArgumentMatchers.eq(alicePay.activityInfo.applicati onInfo)))
220 .thenReturn(resouces);
221 Mockito.when(packageManagerDelegate.getResourcesForApplication(
222 ArgumentMatchers.eq(bobPay.activityInfo.application Info)))
223 .thenReturn(resouces);
224
225 Set<String> methodNames = new HashSet<>();
226 methodNames.add(AndroidPaymentAppFinder.BASIC_CARD_PAYMENT_METHOD);
227 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
228
229 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, false,
230 Mockito.mock(PaymentManifestDownloader.class),
231 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
232
133 Mockito.verify(callback).onPaymentAppCreated( 233 Mockito.verify(callback).onPaymentAppCreated(
134 ArgumentMatchers.argThat(Matches.paymentAppIdentifier("com.alice pay.app"))); 234 ArgumentMatchers.argThat(Matches.paymentAppIdentifier("com.alice pay.app")));
135 Mockito.verify(callback).onPaymentAppCreated( 235 Mockito.verify(callback).onPaymentAppCreated(
136 ArgumentMatchers.argThat(Matches.paymentAppIdentifier("com.bobpa y.app"))); 236 ArgumentMatchers.argThat(Matches.paymentAppIdentifier("com.bobpa y.app")));
137 Mockito.verify(callback).onAllPaymentAppsCreated(); 237 Mockito.verify(callback).onAllPaymentAppsCreated();
138 } 238 }
139 239
140 @Test 240 @Test
141 public void testQueryBobPayWithoutApps() {
142 Intent bobPayIntent = new Intent("org.chromium.intent.action.PAY");
143 bobPayIntent.setData(Uri.parse("https://bobpay.com"));
144 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
145 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntent( bobPayIntent))
146 .thenReturn(new ArrayList<ResolveInfo>());
147 Set<String> methodNames = new HashSet<>();
148 methodNames.add("https://bobpay.com");
149 PaymentAppCreatedCallback callback = Mockito.mock(PaymentAppCreatedCallb ack.class);
150
151 AndroidPaymentAppFinder.find(Mockito.mock(WebContents.class), methodName s, false,
152 Mockito.mock(PaymentManifestDownloader.class),
153 Mockito.mock(PaymentManifestParser.class), packageManagerDelegat e, callback);
154
155 Mockito.verify(callback, Mockito.never())
156 .onPaymentAppCreated(Mockito.any(PaymentApp.class));
157 Mockito.verify(callback).onAllPaymentAppsCreated();
158 }
159
160 @Test
161 public void testQueryBobPayWithOneAppThatHasIsReadyToPayService() { 241 public void testQueryBobPayWithOneAppThatHasIsReadyToPayService() {
162 List<ResolveInfo> activities = new ArrayList<>(); 242 List<ResolveInfo> activities = new ArrayList<>();
163 ResolveInfo bobPay = new ResolveInfo(); 243 ResolveInfo bobPay = new ResolveInfo();
164 bobPay.activityInfo = new ActivityInfo(); 244 bobPay.activityInfo = new ActivityInfo();
165 bobPay.activityInfo.packageName = "com.bobpay.app"; 245 bobPay.activityInfo.packageName = "com.bobpay.app";
166 bobPay.activityInfo.name = "com.bobpay.app.WebPaymentActivity"; 246 bobPay.activityInfo.name = "com.bobpay.app.WebPaymentActivity";
247 bobPay.activityInfo.applicationInfo = new ApplicationInfo();
248 Bundle bobPayMetaData = new Bundle();
249 bobPayMetaData.putString(
250 AndroidPaymentAppFinder.META_DATA_NAME_OF_DEFAULT_PAYMENT_METHOD _NAME,
251 "https://bobpay.com");
252 bobPayMetaData.putInt(AndroidPaymentAppFinder.META_DATA_NAME_OF_PAYMENT_ METHOD_NAMES, 1);
253 bobPay.activityInfo.metaData = bobPayMetaData;
167 activities.add(bobPay); 254 activities.add(bobPay);
168 Intent bobPayIntent = new Intent("org.chromium.intent.action.PAY"); 255
169 bobPayIntent.setData(Uri.parse("https://bobpay.com"));
170 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class); 256 PackageManagerDelegate packageManagerDelegate = Mockito.mock(PackageMana gerDelegate.class);
171 Mockito.when(packageManagerDelegate.getAppLabel(Mockito.any(ResolveInfo. class))) 257 Mockito.when(packageManagerDelegate.getAppLabel(Mockito.any(ResolveInfo. class)))
172 .thenReturn("A non-empty label"); 258 .thenReturn("A non-empty label");
173 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntent( 259 Mockito.when(packageManagerDelegate.getActivitiesThatCanRespondToIntentW ithMetaData(
174 ArgumentMatchers.argThat(new IntentArgumentMatcher(bobPayIntent) ))) 260 ArgumentMatchers.argThat(sPayIntentArgumentMatcher) ))
175 .thenReturn(activities); 261 .thenReturn(activities);
176 262
263 Resources resouces = Mockito.mock(Resources.class);
264 Mockito.when(resouces.getStringArray(ArgumentMatchers.eq(1)))
265 .thenReturn(new String[] {
266 "https://bobpay.com", AndroidPaymentAppFinder.BASIC_CARD _PAYMENT_METHOD});
267
268 Mockito.when(packageManagerDelegate.getResourcesForApplication(
269 ArgumentMatchers.eq(bobPay.activityInfo.application Info)))
270 .thenReturn(resouces);
271
177 List<ResolveInfo> services = new ArrayList<>(); 272 List<ResolveInfo> services = new ArrayList<>();
178 ResolveInfo isBobPayReadyToPay = new ResolveInfo(); 273 ResolveInfo isBobPayReadyToPay = new ResolveInfo();
179 isBobPayReadyToPay.serviceInfo = new ServiceInfo(); 274 isBobPayReadyToPay.serviceInfo = new ServiceInfo();
180 isBobPayReadyToPay.serviceInfo.packageName = "com.bobpay.app"; 275 isBobPayReadyToPay.serviceInfo.packageName = "com.bobpay.app";
181 isBobPayReadyToPay.serviceInfo.name = "com.bobpay.app.IsReadyToWebPay"; 276 isBobPayReadyToPay.serviceInfo.name = "com.bobpay.app.IsReadyToWebPay";
182 services.add(isBobPayReadyToPay); 277 services.add(isBobPayReadyToPay);
183 Intent isReadyToPayIntent = new Intent(AndroidPaymentAppFinder.ACTION_IS _READY_TO_PAY); 278 Intent isReadyToPayIntent = new Intent(AndroidPaymentAppFinder.ACTION_IS _READY_TO_PAY);
184 Mockito.when(packageManagerDelegate.getServicesThatCanRespondToIntent( 279 Mockito.when(packageManagerDelegate.getServicesThatCanRespondToIntent(
185 ArgumentMatchers.argThat(new IntentArgumentMatcher(isReadyToPayI ntent)))) 280 ArgumentMatchers.argThat(new IntentArgumentMatcher(isRea dyToPayIntent))))
186 .thenReturn(services); 281 .thenReturn(services);
187 282
188 PackageInfo bobPayPackageInfo = new PackageInfo(); 283 PackageInfo bobPayPackageInfo = new PackageInfo();
189 bobPayPackageInfo.versionCode = 10; 284 bobPayPackageInfo.versionCode = 10;
190 bobPayPackageInfo.signatures = new Signature[1]; 285 bobPayPackageInfo.signatures = new Signature[1];
191 bobPayPackageInfo.signatures[0] = new Signature("01020304050607080900"); 286 bobPayPackageInfo.signatures[0] = new Signature("01020304050607080900");
192 Mockito.when(packageManagerDelegate.getPackageInfoWithSignatures("com.bo bpay.app")) 287 Mockito.when(packageManagerDelegate.getPackageInfoWithSignatures("com.bo bpay.app"))
193 .thenReturn(bobPayPackageInfo); 288 .thenReturn(bobPayPackageInfo);
194 289
195 PaymentManifestDownloader downloader = new PaymentManifestDownloader(nul l) { 290 PaymentManifestDownloader downloader = new PaymentManifestDownloader(nul l) {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 String expectedAppIdentifier) { 348 String expectedAppIdentifier) {
254 return new Matches(expectedAppIdentifier); 349 return new Matches(expectedAppIdentifier);
255 } 350 }
256 351
257 @Override 352 @Override
258 public boolean matches(PaymentApp app) { 353 public boolean matches(PaymentApp app) {
259 return app.getAppIdentifier().equals(mExpectedAppIdentifier); 354 return app.getAppIdentifier().equals(mExpectedAppIdentifier);
260 } 355 }
261 } 356 }
262 } 357 }
OLDNEW
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/payments/PackageManagerDelegate.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698