name | class, % | method, % | block, % | line, % |
---|
| | | | |
class AutofillTestHelper$9$1 | 100% (1/1) | 100% (2/2) | 81% (22/27) | 95% (4.8/5) |
onPersonalDataChanged (): void | | 100% (1/1) | 76% (16/21) | 94% (3.8/4) |
AutofillTestHelper$9$1 (AutofillTestHelper$9): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
| | | | |
class AutofillTestHelper | 100% (1/1) | 100% (12/12) | 95% (106/111) | 99% (26.7/27) |
waitForDataChanged (): void | | 100% (1/1) | 72% (13/18) | 92% (3.7/4) |
AutofillTestHelper (): void | | 100% (1/1) | 100% (5/5) | 100% (3/3) |
access$000 (AutofillTestHelper): Object | | 100% (1/1) | 100% (3/3) | 100% (1/1) |
deleteCreditCard (String): void | | 100% (1/1) | 100% (9/9) | 100% (3/3) |
deleteProfile (String): void | | 100% (1/1) | 100% (9/9) | 100% (3/3) |
getCreditCard (String): PersonalDataManager$CreditCard | | 100% (1/1) | 100% (8/8) | 100% (1/1) |
getNumberOfCreditCards (): int | | 100% (1/1) | 100% (8/8) | 100% (1/1) |
getNumberOfProfiles (): int | | 100% (1/1) | 100% (8/8) | 100% (1/1) |
getProfile (String): PersonalDataManager$AutofillProfile | | 100% (1/1) | 100% (8/8) | 100% (1/1) |
registerDataObserver (): void | | 100% (1/1) | 100% (11/11) | 100% (3/3) |
setCreditCard (PersonalDataManager$CreditCard): String | | 100% (1/1) | 100% (12/12) | 100% (3/3) |
setProfile (PersonalDataManager$AutofillProfile): String | | 100% (1/1) | 100% (12/12) | 100% (3/3) |
| | | | |
class AutofillTestHelper$1 | 100% (1/1) | 100% (2/2) | 100% (14/14) | 100% (2/2) |
AutofillTestHelper$1 (AutofillTestHelper, String): void | | 100% (1/1) | 100% (9/9) | 100% (1/1) |
call (): PersonalDataManager$AutofillProfile | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
| | | | |
class AutofillTestHelper$2 | 100% (1/1) | 100% (2/2) | 100% (11/11) | 100% (2/2) |
AutofillTestHelper$2 (AutofillTestHelper): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
call (): Integer | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
| | | | |
class AutofillTestHelper$3 | 100% (1/1) | 100% (2/2) | 100% (14/14) | 100% (2/2) |
AutofillTestHelper$3 (AutofillTestHelper, PersonalDataManager$AutofillProfile... | | 100% (1/1) | 100% (9/9) | 100% (1/1) |
call (): String | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
| | | | |
class AutofillTestHelper$4 | 100% (1/1) | 100% (2/2) | 100% (14/14) | 100% (3/3) |
AutofillTestHelper$4 (AutofillTestHelper, String): void | | 100% (1/1) | 100% (9/9) | 100% (1/1) |
run (): void | | 100% (1/1) | 100% (5/5) | 100% (2/2) |
| | | | |
class AutofillTestHelper$5 | 100% (1/1) | 100% (2/2) | 100% (14/14) | 100% (2/2) |
AutofillTestHelper$5 (AutofillTestHelper, String): void | | 100% (1/1) | 100% (9/9) | 100% (1/1) |
call (): PersonalDataManager$CreditCard | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
| | | | |
class AutofillTestHelper$6 | 100% (1/1) | 100% (2/2) | 100% (11/11) | 100% (2/2) |
AutofillTestHelper$6 (AutofillTestHelper): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
call (): Integer | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
| | | | |
class AutofillTestHelper$7 | 100% (1/1) | 100% (2/2) | 100% (14/14) | 100% (2/2) |
AutofillTestHelper$7 (AutofillTestHelper, PersonalDataManager$CreditCard): void | | 100% (1/1) | 100% (9/9) | 100% (1/1) |
call (): String | | 100% (1/1) | 100% (5/5) | 100% (1/1) |
| | | | |
class AutofillTestHelper$8 | 100% (1/1) | 100% (2/2) | 100% (14/14) | 100% (3/3) |
AutofillTestHelper$8 (AutofillTestHelper, String): void | | 100% (1/1) | 100% (9/9) | 100% (1/1) |
run (): void | | 100% (1/1) | 100% (5/5) | 100% (2/2) |
| | | | |
class AutofillTestHelper$9 | 100% (1/1) | 100% (2/2) | 100% (13/13) | 100% (3/3) |
AutofillTestHelper$9 (AutofillTestHelper): void | | 100% (1/1) | 100% (6/6) | 100% (1/1) |
run (): void | | 100% (1/1) | 100% (7/7) | 100% (2/2) |
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 |
3 | // found in the LICENSE file. |
4 | |
5 | package org.chromium.chrome.browser.autofill; |
6 | |
7 | import org.chromium.base.ThreadUtils; |
8 | import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; |
9 | import org.chromium.chrome.browser.autofill.PersonalDataManager.CreditCard; |
10 | import org.chromium.chrome.browser.autofill.PersonalDataManager.PersonalDataManagerObserver; |
11 | |
12 | import java.util.concurrent.Callable; |
13 | import java.util.concurrent.ExecutionException; |
14 | |
15 | /** |
16 | * Helper class for testing AutofillProfiles. |
17 | */ |
18 | public class AutofillTestHelper { |
19 | |
20 | private Object mObserverNotified; |
21 | |
22 | public AutofillTestHelper() { |
23 | registerDataObserver(); |
24 | } |
25 | |
26 | AutofillProfile getProfile(final String guid) throws ExecutionException { |
27 | return ThreadUtils.runOnUiThreadBlocking(new Callable<AutofillProfile>() { |
28 | @Override |
29 | public AutofillProfile call() { |
30 | return PersonalDataManager.getInstance().getProfile(guid); |
31 | } |
32 | }); |
33 | } |
34 | |
35 | int getNumberOfProfiles() throws ExecutionException { |
36 | return ThreadUtils.runOnUiThreadBlocking(new Callable<Integer>() { |
37 | @Override |
38 | public Integer call() { |
39 | return PersonalDataManager.getInstance().getProfiles().size(); |
40 | } |
41 | }).intValue(); |
42 | } |
43 | |
44 | String setProfile(final AutofillProfile profile) throws InterruptedException, |
45 | ExecutionException { |
46 | String guid = ThreadUtils.runOnUiThreadBlocking(new Callable<String>() { |
47 | @Override |
48 | public String call() { |
49 | return PersonalDataManager.getInstance().setProfile(profile); |
50 | } |
51 | }); |
52 | waitForDataChanged(); |
53 | return guid; |
54 | } |
55 | |
56 | void deleteProfile(final String guid) throws InterruptedException { |
57 | ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
58 | @Override |
59 | public void run() { |
60 | PersonalDataManager.getInstance().deleteProfile(guid); |
61 | } |
62 | }); |
63 | waitForDataChanged(); |
64 | } |
65 | |
66 | CreditCard getCreditCard(final String guid) throws ExecutionException { |
67 | return ThreadUtils.runOnUiThreadBlocking(new Callable<CreditCard>() { |
68 | @Override |
69 | public CreditCard call() { |
70 | return PersonalDataManager.getInstance().getCreditCard(guid); |
71 | } |
72 | }); |
73 | } |
74 | |
75 | int getNumberOfCreditCards() throws ExecutionException { |
76 | return ThreadUtils.runOnUiThreadBlocking(new Callable<Integer>() { |
77 | @Override |
78 | public Integer call() { |
79 | return PersonalDataManager.getInstance().getCreditCards().size(); |
80 | } |
81 | }).intValue(); |
82 | } |
83 | |
84 | String setCreditCard(final CreditCard card) throws InterruptedException, ExecutionException { |
85 | String guid = ThreadUtils.runOnUiThreadBlocking(new Callable<String>() { |
86 | @Override |
87 | public String call() { |
88 | return PersonalDataManager.getInstance().setCreditCard(card); |
89 | } |
90 | }); |
91 | waitForDataChanged(); |
92 | return guid; |
93 | } |
94 | |
95 | void deleteCreditCard(final String guid) throws InterruptedException { |
96 | ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
97 | @Override |
98 | public void run() { |
99 | PersonalDataManager.getInstance().deleteCreditCard(guid); |
100 | } |
101 | }); |
102 | waitForDataChanged(); |
103 | } |
104 | |
105 | private void registerDataObserver() { |
106 | mObserverNotified = new Object(); |
107 | ThreadUtils.runOnUiThreadBlocking(new Runnable() { |
108 | @Override |
109 | public void run() { |
110 | PersonalDataManager.getInstance().registerDataObserver( |
111 | new PersonalDataManagerObserver() { |
112 | @Override |
113 | public void onPersonalDataChanged() { |
114 | synchronized (mObserverNotified) { |
115 | mObserverNotified.notifyAll(); |
116 | } |
117 | } |
118 | } |
119 | ); |
120 | } |
121 | }); |
122 | } |
123 | |
124 | public void waitForDataChanged() throws InterruptedException { |
125 | synchronized (mObserverNotified) { |
126 | mObserverNotified.wait(3000); |
127 | } |
128 | } |
129 | } |