| 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 |