summaryrefslogtreecommitdiff
path: root/androidx/slice/SliceManagerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'androidx/slice/SliceManagerTest.java')
-rw-r--r--androidx/slice/SliceManagerTest.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/androidx/slice/SliceManagerTest.java b/androidx/slice/SliceManagerTest.java
index 2c6731d4..5564f723 100644
--- a/androidx/slice/SliceManagerTest.java
+++ b/androidx/slice/SliceManagerTest.java
@@ -43,6 +43,8 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import java.util.Arrays;
+import java.util.Collection;
import java.util.concurrent.Executor;
@RunWith(AndroidJUnit4.class)
@@ -147,6 +149,26 @@ public class SliceManagerTest {
verify(mSliceProvider).onMapIntentToUri(eq(intent));
}
+ @Test
+ public void testGetDescendants() {
+ Uri uri = new Uri.Builder()
+ .scheme(ContentResolver.SCHEME_CONTENT)
+ .authority(mContext.getPackageName())
+ .build();
+ Collection<Uri> collection = Arrays.asList(
+ uri,
+ uri.buildUpon().appendPath("1").build(),
+ uri.buildUpon().appendPath("2").build()
+ );
+ when(mSliceProvider.onGetSliceDescendants(any(Uri.class)))
+ .thenReturn(collection);
+
+ Collection<Uri> allUris = mManager.getSliceDescendants(uri);
+
+ assertEquals(allUris, collection);
+ verify(mSliceProvider).onGetSliceDescendants(eq(uri));
+ }
+
public static class TestSliceProvider extends SliceProvider {
public static SliceProvider sSliceProviderReceiver;
@@ -189,5 +211,13 @@ public class SliceManagerTest {
sSliceProviderReceiver.onSliceUnpinned(sliceUri);
}
}
+
+ @Override
+ public Collection<Uri> onGetSliceDescendants(Uri uri) {
+ if (sSliceProviderReceiver != null) {
+ return sSliceProviderReceiver.onGetSliceDescendants(uri);
+ }
+ return super.onGetSliceDescendants(uri);
+ }
}
}