From 103b478039dda7e45d499666388e8f482cba273b Mon Sep 17 00:00:00 2001 From: Veyndan Stuart Date: Wed, 10 Aug 2022 18:16:52 +0200 Subject: [PATCH] Don't statically swap Dispatchers.Main --- .../sqldelight/paging3/OffsetQueryPagingSourceTest.kt | 10 ---------- .../cash/sqldelight/paging3/WithPagingDataDiffer.kt | 6 ++++-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/extensions/android-paging3/android-test/src/test/java/app/cash/sqldelight/paging3/OffsetQueryPagingSourceTest.kt b/extensions/android-paging3/android-test/src/test/java/app/cash/sqldelight/paging3/OffsetQueryPagingSourceTest.kt index 95eb76fc0a8..7e9490bc87c 100644 --- a/extensions/android-paging3/android-test/src/test/java/app/cash/sqldelight/paging3/OffsetQueryPagingSourceTest.kt +++ b/extensions/android-paging3/android-test/src/test/java/app/cash/sqldelight/paging3/OffsetQueryPagingSourceTest.kt @@ -29,13 +29,9 @@ import app.cash.sqldelight.db.SqlCursor import app.cash.sqldelight.db.SqlDriver import app.cash.sqldelight.driver.jdbc.sqlite.JdbcSqliteDriver import com.google.common.truth.Truth.assertThat -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.first -import kotlinx.coroutines.test.StandardTestDispatcher -import kotlinx.coroutines.test.resetMain import kotlinx.coroutines.test.runTest -import kotlinx.coroutines.test.setMain import org.junit.After import org.junit.Before import org.junit.Test @@ -51,17 +47,11 @@ class OffsetQueryPagingSourceTest { @Before fun init() { - Dispatchers.setMain(StandardTestDispatcher()) driver = JdbcSqliteDriver(JdbcSqliteDriver.IN_MEMORY) driver.execute(null, "CREATE TABLE TestItem(id INTEGER NOT NULL PRIMARY KEY);", 0) transacter = object : TransacterImpl(driver) {} } - @After - fun tearDown() { - Dispatchers.resetMain() - } - @Test fun test_itemCount() = runTest { insertItems(ITEMS_LIST) diff --git a/extensions/android-paging3/android-test/src/test/java/app/cash/sqldelight/paging3/WithPagingDataDiffer.kt b/extensions/android-paging3/android-test/src/test/java/app/cash/sqldelight/paging3/WithPagingDataDiffer.kt index 53c5cc5bd83..d380230cee5 100644 --- a/extensions/android-paging3/android-test/src/test/java/app/cash/sqldelight/paging3/WithPagingDataDiffer.kt +++ b/extensions/android-paging3/android-test/src/test/java/app/cash/sqldelight/paging3/WithPagingDataDiffer.kt @@ -19,10 +19,10 @@ import androidx.paging.AsyncPagingDataDiffer import androidx.paging.PagingData import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListUpdateCallback -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.UnconfinedTestDispatcher import kotlinx.coroutines.test.advanceUntilIdle private object NoopListCallback : ListUpdateCallback { @@ -38,10 +38,12 @@ fun PagingData.withPagingDataDiffer( diffCallback: DiffUtil.ItemCallback, block: AsyncPagingDataDiffer.() -> Unit, ) { + val testDispatcher = UnconfinedTestDispatcher(testScope.testScheduler) val pagingDataDiffer = AsyncPagingDataDiffer( diffCallback, NoopListCallback, - workerDispatcher = Dispatchers.Main, + mainDispatcher = testDispatcher, + workerDispatcher = testDispatcher, ) val job = testScope.launch { pagingDataDiffer.submitData(this@withPagingDataDiffer)