summaryrefslogtreecommitdiff
path: root/java/tests
diff options
context:
space:
mode:
author Andrey Epin <ayepin@google.com> 2023-10-26 09:00:40 -0700
committer Andrey Epin <ayepin@google.com> 2023-10-26 09:09:46 -0700
commit475d1d0fd9f042dcdc085e2ba095e8164dfd1c15 (patch)
tree90d1e5783589e3f9d2bacd94dcdf6ec772c03ed1 /java/tests
parent6e1337987eb2c062ba2cc7959333a3e6355afaee (diff)
Use CoroutineScope as a depenency instead of Lifecycle
In content preview classes, Lifecycele was used as coroutine provider. This change makes CoroutineScope as a depenedency for all those classes. Test: atest IntentResolverUnitTests Change-Id: I2d9f07a54d9bb5b56b20c19a821e4626c86da472
Diffstat (limited to 'java/tests')
-rw-r--r--java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt4
-rw-r--r--java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt30
-rw-r--r--java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt16
-rw-r--r--java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt8
4 files changed, 26 insertions, 32 deletions
diff --git a/java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt b/java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt
index bf87ed8a..9c4d6187 100644
--- a/java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt
+++ b/java/tests/src/com/android/intentresolver/TestPreviewImageLoader.kt
@@ -18,12 +18,12 @@ package com.android.intentresolver
import android.graphics.Bitmap
import android.net.Uri
-import androidx.lifecycle.Lifecycle
import com.android.intentresolver.contentpreview.ImageLoader
import java.util.function.Consumer
+import kotlinx.coroutines.CoroutineScope
internal class TestPreviewImageLoader(private val bitmaps: Map<Uri, Bitmap>) : ImageLoader {
- override fun loadImage(callerLifecycle: Lifecycle, uri: Uri, callback: Consumer<Bitmap?>) {
+ override fun loadImage(callerScope: CoroutineScope, uri: Uri, callback: Consumer<Bitmap?>) {
callback.accept(bitmaps[uri])
}
diff --git a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt
index dab1a956..55cde497 100644
--- a/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt
+++ b/java/tests/src/com/android/intentresolver/contentpreview/ChooserContentPreviewUiTest.kt
@@ -17,10 +17,8 @@
package com.android.intentresolver.contentpreview
import android.content.Intent
-import android.graphics.Bitmap
import android.net.Uri
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.testing.TestLifecycleOwner
+import com.android.intentresolver.TestPreviewImageLoader
import com.android.intentresolver.contentpreview.ChooserContentPreviewUi.ActionFactory
import com.android.intentresolver.mock
import com.android.intentresolver.whenever
@@ -28,28 +26,20 @@ import com.android.intentresolver.widget.ActionRow
import com.android.intentresolver.widget.ImagePreviewView
import com.google.common.truth.Truth.assertThat
import java.util.function.Consumer
+import kotlin.coroutines.EmptyCoroutineContext
import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
import org.junit.Test
import org.mockito.Mockito.never
import org.mockito.Mockito.times
import org.mockito.Mockito.verify
class ChooserContentPreviewUiTest {
- private val lifecycleOwner = TestLifecycleOwner()
+ private val testScope = TestScope(EmptyCoroutineContext + UnconfinedTestDispatcher())
private val previewData = mock<PreviewDataProvider>()
private val headlineGenerator = mock<HeadlineGenerator>()
- private val imageLoader =
- object : ImageLoader {
- override fun loadImage(
- callerLifecycle: Lifecycle,
- uri: Uri,
- callback: Consumer<Bitmap?>,
- ) {
- callback.accept(null)
- }
- override fun prePopulate(uris: List<Uri>) = Unit
- override suspend fun invoke(uri: Uri, caching: Boolean): Bitmap? = null
- }
+ private val imageLoader = TestPreviewImageLoader(emptyMap())
private val actionFactory =
object : ActionFactory {
override fun getCopyButtonRunnable(): Runnable? = null
@@ -65,7 +55,7 @@ class ChooserContentPreviewUiTest {
whenever(previewData.previewType).thenReturn(ContentPreviewType.CONTENT_PREVIEW_TEXT)
val testSubject =
ChooserContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
previewData,
Intent(Intent.ACTION_VIEW),
imageLoader,
@@ -84,7 +74,7 @@ class ChooserContentPreviewUiTest {
whenever(previewData.previewType).thenReturn(ContentPreviewType.CONTENT_PREVIEW_FILE)
val testSubject =
ChooserContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
previewData,
Intent(Intent.ACTION_SEND),
imageLoader,
@@ -108,7 +98,7 @@ class ChooserContentPreviewUiTest {
whenever(previewData.imagePreviewFileInfoFlow).thenReturn(MutableSharedFlow())
val testSubject =
ChooserContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
previewData,
Intent(Intent.ACTION_SEND).apply { putExtra(Intent.EXTRA_TEXT, "Shared text") },
imageLoader,
@@ -132,7 +122,7 @@ class ChooserContentPreviewUiTest {
whenever(previewData.imagePreviewFileInfoFlow).thenReturn(MutableSharedFlow())
val testSubject =
ChooserContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
previewData,
Intent(Intent.ACTION_SEND),
imageLoader,
diff --git a/java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt
index 0976dbf1..7cc0b4b2 100644
--- a/java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt
+++ b/java/tests/src/com/android/intentresolver/contentpreview/FilesPlusTextContentPreviewUiTest.kt
@@ -21,7 +21,6 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
-import androidx.lifecycle.testing.TestLifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
import com.android.intentresolver.R
@@ -31,6 +30,9 @@ import com.android.intentresolver.widget.ActionRow
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import java.util.function.Consumer
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito.anyInt
@@ -45,7 +47,7 @@ private const val SHARED_TEXT = "Some text to share"
@RunWith(AndroidJUnit4::class)
class FilesPlusTextContentPreviewUiTest {
- private val lifecycleOwner = TestLifecycleOwner()
+ private val testScope = TestScope(EmptyCoroutineContext + UnconfinedTestDispatcher())
private val actionFactory =
object : ChooserContentPreviewUi.ActionFactory {
override fun getEditButtonRunnable(): Runnable? = null
@@ -63,7 +65,7 @@ class FilesPlusTextContentPreviewUiTest {
}
private val context
- get() = getInstrumentation().getContext()
+ get() = getInstrumentation().context
@Test
fun test_displayImagesPlusTextWithoutUriMetadata_showImagesHeadline() {
@@ -252,7 +254,7 @@ class FilesPlusTextContentPreviewUiTest {
val sharedFileCount = 2
val testSubject =
FilesPlusTextContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
/*isSingleImage=*/ false,
sharedFileCount,
SHARED_TEXT,
@@ -284,7 +286,7 @@ class FilesPlusTextContentPreviewUiTest {
val sharedFileCount = 2
val testSubject =
FilesPlusTextContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
/*isSingleImage=*/ false,
sharedFileCount,
SHARED_TEXT,
@@ -332,7 +334,7 @@ class FilesPlusTextContentPreviewUiTest {
): ViewGroup? {
val testSubject =
FilesPlusTextContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
/*isSingleImage=*/ false,
sharedFileCount,
SHARED_TEXT,
@@ -361,7 +363,7 @@ class FilesPlusTextContentPreviewUiTest {
): Pair<ViewGroup?, View> {
val testSubject =
FilesPlusTextContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
/*isSingleImage=*/ false,
sharedFileCount,
SHARED_TEXT,
diff --git a/java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt b/java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt
index b91ed436..35362401 100644
--- a/java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt
+++ b/java/tests/src/com/android/intentresolver/contentpreview/TextContentPreviewUiTest.kt
@@ -20,7 +20,6 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
-import androidx.lifecycle.testing.TestLifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import com.android.intentresolver.R
@@ -29,6 +28,9 @@ import com.android.intentresolver.whenever
import com.android.intentresolver.widget.ActionRow
import com.google.common.truth.Truth.assertThat
import java.util.function.Consumer
+import kotlin.coroutines.EmptyCoroutineContext
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
import org.junit.Test
import org.junit.runner.RunWith
@@ -36,7 +38,7 @@ import org.junit.runner.RunWith
class TextContentPreviewUiTest {
private val text = "Shared Text"
private val title = "Preview Title"
- private val lifecycleOwner = TestLifecycleOwner()
+ private val testScope = TestScope(EmptyCoroutineContext + UnconfinedTestDispatcher())
private val actionFactory =
object : ChooserContentPreviewUi.ActionFactory {
override fun getEditButtonRunnable(): Runnable? = null
@@ -54,7 +56,7 @@ class TextContentPreviewUiTest {
private val testSubject =
TextContentPreviewUi(
- lifecycleOwner.lifecycle,
+ testScope,
text,
title,
/*previewThumbnail=*/ null,