OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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.offlinepages.downloads; | 5 package org.chromium.chrome.browser.offlinepages.downloads; |
6 | 6 |
7 import static org.junit.Assert.assertEquals; | 7 import static org.junit.Assert.assertEquals; |
8 import static org.mockito.Mockito.anyLong; | 8 import static org.mockito.Mockito.anyLong; |
9 import static org.mockito.Mockito.doNothing; | 9 import static org.mockito.Mockito.doNothing; |
10 import static org.mockito.Mockito.doReturn; | 10 import static org.mockito.Mockito.doReturn; |
11 import static org.mockito.Mockito.eq; | 11 import static org.mockito.Mockito.eq; |
12 import static org.mockito.Mockito.spy; | 12 import static org.mockito.Mockito.spy; |
13 import static org.mockito.Mockito.times; | 13 import static org.mockito.Mockito.times; |
14 import static org.mockito.Mockito.verify; | 14 import static org.mockito.Mockito.verify; |
15 | 15 |
16 import org.chromium.base.BaseChromiumApplication; | |
17 import org.chromium.base.test.util.Feature; | |
18 import org.chromium.chrome.browser.profiles.Profile; | |
19 import org.chromium.testing.local.LocalRobolectricTestRunner; | |
20 import org.junit.Before; | 16 import org.junit.Before; |
21 import org.junit.Test; | 17 import org.junit.Test; |
22 import org.junit.runner.RunWith; | 18 import org.junit.runner.RunWith; |
23 import org.mockito.ArgumentMatchers; | 19 import org.mockito.ArgumentMatchers; |
24 import org.mockito.Mock; | 20 import org.mockito.Mock; |
25 import org.mockito.MockitoAnnotations; | 21 import org.mockito.MockitoAnnotations; |
26 import org.robolectric.annotation.Config; | 22 import org.robolectric.annotation.Config; |
27 import org.robolectric.shadows.multidex.ShadowMultiDex; | 23 import org.robolectric.shadows.multidex.ShadowMultiDex; |
28 | 24 |
| 25 import org.chromium.base.BaseChromiumApplication; |
| 26 import org.chromium.base.test.util.Feature; |
| 27 import org.chromium.chrome.browser.profiles.Profile; |
| 28 import org.chromium.testing.local.LocalRobolectricTestRunner; |
| 29 |
29 import java.util.ArrayList; | 30 import java.util.ArrayList; |
30 import java.util.Arrays; | 31 import java.util.Arrays; |
31 import java.util.List; | 32 import java.util.List; |
32 | 33 |
33 /** Unit tests for {@link OfflinePageDownloadBridge}. */ | 34 /** Unit tests for {@link OfflinePageDownloadBridge}. */ |
34 @RunWith(LocalRobolectricTestRunner.class) | 35 @RunWith(LocalRobolectricTestRunner.class) |
35 @Config(manifest = Config.NONE, application = BaseChromiumApplication.class, | 36 @Config(manifest = Config.NONE, application = BaseChromiumApplication.class, |
36 shadows = {ShadowMultiDex.class}) | 37 shadows = {ShadowMultiDex.class}) |
37 public class OfflinePageDownloadBridgeTest { | 38 public class OfflinePageDownloadBridgeTest { |
38 /** Object under test. Will be spied on by Mockito. */ | 39 /** Object under test. Will be spied on by Mockito. */ |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 mBridge.openItem(item.getGuid(), null); | 146 mBridge.openItem(item.getGuid(), null); |
146 verify(mBridge, times(1)).nativeGetItemByGuid(eq(0L), eq(item.getGuid())
); | 147 verify(mBridge, times(1)).nativeGetItemByGuid(eq(0L), eq(item.getGuid())
); |
147 } | 148 } |
148 | 149 |
149 @Test | 150 @Test |
150 @Feature({"OfflinePages"}) | 151 @Feature({"OfflinePages"}) |
151 public void testCreateDownloadItemAndAddToList() { | 152 public void testCreateDownloadItemAndAddToList() { |
152 List<OfflinePageDownloadItem> list = new ArrayList<>(); | 153 List<OfflinePageDownloadItem> list = new ArrayList<>(); |
153 OfflinePageDownloadItem item1 = createDownloadItem1(); | 154 OfflinePageDownloadItem item1 = createDownloadItem1(); |
154 OfflinePageDownloadBridge.createDownloadItemAndAddToList(list, item1.get
Guid(), | 155 OfflinePageDownloadBridge.createDownloadItemAndAddToList(list, item1.get
Guid(), |
155 item1.getUrl(), item1.getTitle(), item1.getTargetPath(), item1.g
etStartTimeMs(), | 156 item1.getUrl(), item1.getDownloadState(), item1.getDownloadProgr
essBytes(), |
| 157 item1.getTitle(), item1.getTargetPath(), item1.getStartTimeMs(), |
156 item1.getTotalBytes()); | 158 item1.getTotalBytes()); |
157 assertEquals(list.size(), 1); | 159 assertEquals(list.size(), 1); |
158 | 160 |
159 OfflinePageDownloadItem item2 = createDownloadItem2(); | 161 OfflinePageDownloadItem item2 = createDownloadItem2(); |
160 OfflinePageDownloadBridge.createDownloadItemAndAddToList(list, item2.get
Guid(), | 162 OfflinePageDownloadBridge.createDownloadItemAndAddToList(list, item2.get
Guid(), |
161 item2.getUrl(), item2.getTitle(), item2.getTargetPath(), item2.g
etStartTimeMs(), | 163 item2.getUrl(), item2.getDownloadState(), item2.getDownloadProg
ressBytes(), |
| 164 item2.getTitle(), item2.getTargetPath(), item2.getStartTimeMs(), |
162 item2.getTotalBytes()); | 165 item2.getTotalBytes()); |
163 assertEquals(list.size(), 2); | 166 assertEquals(list.size(), 2); |
164 | 167 |
165 assertEquals(list.get(0).getGuid(), item1.getGuid()); | 168 assertEquals(list.get(0).getGuid(), item1.getGuid()); |
166 assertEquals(list.get(0).getUrl(), item1.getUrl()); | 169 assertEquals(list.get(0).getUrl(), item1.getUrl()); |
| 170 assertEquals(list.get(0).getDownloadState(), item1.getDownloadState()); |
| 171 assertEquals(list.get(0).getDownloadProgressBytes(), item1.getDownloadPr
ogressBytes()); |
167 assertEquals(list.get(0).getTitle(), item1.getTitle()); | 172 assertEquals(list.get(0).getTitle(), item1.getTitle()); |
168 assertEquals(list.get(0).getTargetPath(), item1.getTargetPath()); | 173 assertEquals(list.get(0).getTargetPath(), item1.getTargetPath()); |
169 assertEquals(list.get(0).getStartTimeMs(), item1.getStartTimeMs()); | 174 assertEquals(list.get(0).getStartTimeMs(), item1.getStartTimeMs()); |
170 assertEquals(list.get(0).getTotalBytes(), item1.getTotalBytes()); | 175 assertEquals(list.get(0).getTotalBytes(), item1.getTotalBytes()); |
171 | 176 |
172 assertEquals(list.get(1).getGuid(), item2.getGuid()); | 177 assertEquals(list.get(1).getGuid(), item2.getGuid()); |
173 assertEquals(list.get(1).getUrl(), item2.getUrl()); | 178 assertEquals(list.get(1).getUrl(), item2.getUrl()); |
| 179 assertEquals(list.get(1).getDownloadState(), item2.getDownloadState()); |
| 180 assertEquals(list.get(1).getDownloadProgressBytes(), item2.getDownloadPr
ogressBytes()); |
174 assertEquals(list.get(1).getTitle(), item2.getTitle()); | 181 assertEquals(list.get(1).getTitle(), item2.getTitle()); |
175 assertEquals(list.get(1).getTargetPath(), item2.getTargetPath()); | 182 assertEquals(list.get(1).getTargetPath(), item2.getTargetPath()); |
176 assertEquals(list.get(1).getStartTimeMs(), item2.getStartTimeMs()); | 183 assertEquals(list.get(1).getStartTimeMs(), item2.getStartTimeMs()); |
177 assertEquals(list.get(1).getTotalBytes(), item2.getTotalBytes()); | 184 assertEquals(list.get(1).getTotalBytes(), item2.getTotalBytes()); |
178 } | 185 } |
179 | 186 |
180 @Test | 187 @Test |
181 @Feature({"OfflinePages"}) | 188 @Feature({"OfflinePages"}) |
182 public void testCreateDownloadItem() { | 189 public void testCreateDownloadItem() { |
183 OfflinePageDownloadItem item = createDownloadItem2(); | 190 OfflinePageDownloadItem item = createDownloadItem2(); |
184 OfflinePageDownloadItem result = | 191 OfflinePageDownloadItem result = |
185 OfflinePageDownloadBridge.createDownloadItem(item.getGuid(), ite
m.getUrl(), | 192 OfflinePageDownloadBridge.createDownloadItem(item.getGuid(), ite
m.getUrl(), |
| 193 item.getDownloadState(), item.getDownloadProgressBytes()
, |
186 item.getTitle(), item.getTargetPath(), item.getStartTime
Ms(), | 194 item.getTitle(), item.getTargetPath(), item.getStartTime
Ms(), |
187 item.getTotalBytes()); | 195 item.getTotalBytes()); |
188 assertEquals(result.getGuid(), item.getGuid()); | 196 assertEquals(result.getGuid(), item.getGuid()); |
189 assertEquals(result.getUrl(), item.getUrl()); | 197 assertEquals(result.getUrl(), item.getUrl()); |
190 assertEquals(result.getTitle(), item.getTitle()); | 198 assertEquals(result.getTitle(), item.getTitle()); |
191 assertEquals(result.getTargetPath(), item.getTargetPath()); | 199 assertEquals(result.getTargetPath(), item.getTargetPath()); |
192 assertEquals(result.getStartTimeMs(), item.getStartTimeMs()); | 200 assertEquals(result.getStartTimeMs(), item.getStartTimeMs()); |
193 assertEquals(result.getTotalBytes(), item.getTotalBytes()); | 201 assertEquals(result.getTotalBytes(), item.getTotalBytes()); |
194 } | 202 } |
195 | 203 |
196 private OfflinePageDownloadItem createDownloadItem1() { | 204 private OfflinePageDownloadItem createDownloadItem1() { |
197 return new OfflinePageDownloadItem("9a4703bd-7123-4e05-ad81-f70df8934e73
", | 205 return new OfflinePageDownloadItem("9a4703bd-7123-4e05-ad81-f70df8934e73
", |
198 "https://www.google.com/", "test title 1", | 206 "https://www.google.com/", 0, 153, "test title 1", |
199 "/storage/offline_pages/www.google.com.mhtml", 1467314220000L, 1
23456); | 207 "/storage/offline_pages/www.google.com.mhtml", 1467314220000L, 1
23456); |
200 } | 208 } |
201 | 209 |
202 private OfflinePageDownloadItem createDownloadItem2() { | 210 private OfflinePageDownloadItem createDownloadItem2() { |
203 return new OfflinePageDownloadItem("28b7dbad-7920-4ca7-809e-10ad111ef3b5
", | 211 return new OfflinePageDownloadItem("28b7dbad-7920-4ca7-809e-10ad111ef3b5
", |
204 "https://play.google.com/", "test title 2", | 212 "https://play.google.com/", 1, 371, "test title 2", |
205 "/storage/offline_pages/play.google.com.mhtml", 1467408960000L,
765432); | 213 "/storage/offline_pages/play.google.com.mhtml", 1467408960000L,
765432); |
206 } | 214 } |
207 | 215 |
208 private List<OfflinePageDownloadItem> createDownloadItemList() { | 216 private List<OfflinePageDownloadItem> createDownloadItemList() { |
209 return Arrays.asList(createDownloadItem1(), createDownloadItem2()); | 217 return Arrays.asList(createDownloadItem1(), createDownloadItem2()); |
210 } | 218 } |
211 } | 219 } |
OLD | NEW |