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

Unified Diff: chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeUnitTest.java

Issue 2873953003: [Offline Pages] Adds the DeletePagesByOfflineId. (Closed)
Patch Set: Null check. Created 3 years, 7 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/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeUnitTest.java
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeUnitTest.java
index a4cfab3d6914837383b461b0220c7ca155d0ad25..3fede53823b874c533adbc0b793a0a5288b103e8 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeUnitTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/offlinepages/OfflinePageBridgeUnitTest.java
@@ -16,7 +16,6 @@ import static org.mockito.Mockito.verify;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.MockitoAnnotations;
@@ -70,6 +69,9 @@ public class OfflinePageBridgeUnitTest {
@Captor
ArgumentCaptor<String[]> mIdsArgument;
+ @Captor
+ ArgumentCaptor<long[]> mOfflineIdsArgument;
+
@Captor
ArgumentCaptor<Callback<Integer>> mDeleteCallbackArgument;
@@ -225,6 +227,51 @@ public class OfflinePageBridgeUnitTest {
verify(callback, times(1)).onResult(any(Integer.class));
}
+ @Test
+ @Feature({"OfflinePages"})
+ public void testDeletePagesByOfflineIds_listOfOfflineIdsNull() {
+ // -1 means to check for null in the Answer.
+ final int itemCount = -1;
+
+ answerDeletePagesByOfflineIds(itemCount);
+ Callback<Integer> callback = createDeletePageCallback();
+ List<Long> list = null;
+
+ mBridge.deletePagesByOfflineId(list, callback);
+
+ verify(callback, times(1)).onResult(any(Integer.class));
+ }
+
+ @Test
+ @Feature({"OfflinePages"})
+ public void testDeletePagesByOfflineIds_listOfOfflineIdsEmpty() {
+ final int itemCount = 0;
+
+ answerDeletePagesByOfflineIds(itemCount);
+ Callback<Integer> callback = createDeletePageCallback();
+ List<Long> list = new ArrayList<>();
+
+ mBridge.deletePagesByOfflineId(list, callback);
+
+ verify(callback, times(1)).onResult(any(Integer.class));
+ }
+
+ @Test
+ @Feature({"OfflinePages"})
+ public void testDeletePagesByOfflineIds() {
+ final int itemCount = 2;
+
+ answerDeletePagesByOfflineIds(itemCount);
+ Callback<Integer> callback = createDeletePageCallback();
+ List<Long> list = new ArrayList<>();
+ list.add(Long.valueOf(1));
+ list.add(Long.valueOf(2));
+
+ mBridge.deletePagesByOfflineId(list, callback);
+
+ verify(callback, times(1)).onResult(any(Integer.class));
+ }
+
/** Performs a proper cast from Object to a List<OfflinePageItem>. */
private static List<OfflinePageItem> convertToListOfOfflinePages(Object o) {
@SuppressWarnings("unchecked")
@@ -293,6 +340,27 @@ public class OfflinePageBridgeUnitTest {
mCallbackArgument.capture());
}
+ private void answerDeletePagesByOfflineIds(final int itemCount) {
+ Answer<Void> answer = new Answer<Void>() {
+ @Override
+ public Void answer(InvocationOnMock invocation) {
+ long[] offlineIds = mOfflineIdsArgument.getValue();
+
+ if (itemCount < 0) {
+ assertEquals(offlineIds, null);
+ } else {
+ assertEquals(offlineIds.length, itemCount);
+ }
+ mDeleteCallbackArgument.getValue().onResult(Integer.valueOf(0));
+
+ return null;
+ }
+ };
+
+ doAnswer(answer).when(mBridge).nativeDeletePagesByOfflineId(
+ anyLong(), mOfflineIdsArgument.capture(), mDeleteCallbackArgument.capture());
+ }
+
private void answerDeletePagesByClientIds(final int itemCount) {
Answer<Void> answer = new Answer<Void>() {
@Override

Powered by Google App Engine
This is Rietveld 408576698