Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AnkiDroid/src/test/java/com/ichi2/anki/CardBrowserTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ import com.ichi2.anki.libanki.CardType
import com.ichi2.anki.libanki.Note
import com.ichi2.anki.libanki.NotetypeJson
import com.ichi2.anki.libanki.QueueType
import com.ichi2.anki.libanki.testutils.AnkiTest
import com.ichi2.anki.model.CardsOrNotes.CARDS
import com.ichi2.anki.model.CardsOrNotes.NOTES
import com.ichi2.anki.model.SortType
Expand All @@ -93,7 +94,6 @@ import com.ichi2.anki.ui.internationalization.toSentenceCase
import com.ichi2.anki.utils.ext.getCurrentDialogFragment
import com.ichi2.anki.utils.ext.showDialogFragment
import com.ichi2.testutils.IntentAssert
import com.ichi2.testutils.TestClass
import com.ichi2.testutils.common.Flaky
import com.ichi2.testutils.common.OS
import com.ichi2.testutils.getSharedPrefs
Expand Down Expand Up @@ -1648,7 +1648,7 @@ suspend fun CardBrowserViewModel.setFlagFilterSync(flag: Flag) {
searchJob?.join()
}

fun TestClass.flagCardForNote(
fun AnkiTest.flagCardForNote(
n: Note,
flag: Flag,
) {
Expand Down
4 changes: 2 additions & 2 deletions AnkiDroid/src/test/java/com/ichi2/anki/RobolectricTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ import com.ichi2.anki.libanki.Collection
import com.ichi2.anki.libanki.Note
import com.ichi2.anki.libanki.NotetypeJson
import com.ichi2.anki.libanki.Storage
import com.ichi2.anki.libanki.testutils.AnkiTest
import com.ichi2.anki.observability.ChangeManager
import com.ichi2.anki.observability.undoableOp
import com.ichi2.anki.preferences.sharedPrefs
import com.ichi2.compat.customtabs.CustomTabActivityHelper
import com.ichi2.testutils.AndroidTest
import com.ichi2.testutils.CollectionManagerTestAdapter
import com.ichi2.testutils.TaskSchedulerRule
import com.ichi2.testutils.TestClass
import com.ichi2.testutils.common.FailOnUnhandledExceptionRule
import com.ichi2.testutils.common.IgnoreFlakyTestsInCIRule
import com.ichi2.testutils.filter
Expand Down Expand Up @@ -88,7 +88,7 @@ import timber.log.Timber
import kotlin.test.assertNotNull

open class RobolectricTest :
TestClass,
AnkiTest,
AndroidTest {
@Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN")
private fun Any.wait(timeMs: Long) = (this as Object).wait(timeMs)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ import com.ichi2.anki.libanki.Note
import com.ichi2.anki.libanki.QueueType
import com.ichi2.anki.libanki.QueueType.ManuallyBuried
import com.ichi2.anki.libanki.QueueType.New
import com.ichi2.anki.libanki.testutils.AnkiTest
import com.ichi2.anki.model.CardsOrNotes
import com.ichi2.anki.model.SortType
import com.ichi2.anki.model.SortType.NO_SORTING
Expand All @@ -71,7 +72,6 @@ import com.ichi2.anki.setFlagFilterSync
import com.ichi2.anki.utils.ext.ifNotZero
import com.ichi2.testutils.IntentAssert
import com.ichi2.testutils.JvmTest
import com.ichi2.testutils.TestClass
import com.ichi2.testutils.createTransientDirectory
import com.ichi2.testutils.ensureNoOpsExecuted
import com.ichi2.testutils.ensureOpsExecuted
Expand Down Expand Up @@ -1285,7 +1285,7 @@ internal suspend fun CardBrowserViewModel.invokeInitialSearch() {
Timber.v("initial search completed")
}

private fun TestClass.assertAllSuspended(context: String) {
private fun AnkiTest.assertAllSuspended(context: String) {
val cards = col.findCards("").map { col.getCard(it) }
assertThat("performance", cards.size, lessThan(10))

Expand All @@ -1298,7 +1298,7 @@ private fun TestClass.assertAllSuspended(context: String) {
}
}

private fun TestClass.assertAllUnsuspended(context: String) {
private fun AnkiTest.assertAllUnsuspended(context: String) {
val cards = col.findCards("").map { col.getCard(it) }
assertThat("performance", cards.size, lessThan(10))

Expand All @@ -1311,18 +1311,18 @@ private fun TestClass.assertAllUnsuspended(context: String) {
}
}

private fun TestClass.suspendAll() {
private fun AnkiTest.suspendAll() {
col.findCards("").also { cards ->
col.sched.suspendCards(col.findCards(""))
Timber.d("suspended %d cards", cards.size)
}
}

private fun TestClass.suspendCards(vararg cardIds: CardId) {
private fun AnkiTest.suspendCards(vararg cardIds: CardId) {
col.sched.suspendCards(ids = cardIds.toList())
}

private fun TestClass.suspendNote(note: Note) {
private fun AnkiTest.suspendNote(note: Note) {
col.sched.suspendCards(note.cardIds(col))
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import com.ichi2.anki.RobolectricTest
import com.ichi2.anki.instantnoteeditor.InstantEditorViewModel
import com.ichi2.anki.instantnoteeditor.InstantNoteEditorActivity
import com.ichi2.anki.instantnoteeditor.SaveNoteResult
import com.ichi2.testutils.TestClass
import com.ichi2.anki.libanki.testutils.AnkiTest
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
Expand Down Expand Up @@ -231,7 +231,7 @@ class InstantEditorViewModelTest : RobolectricTest() {
}

companion object {
fun TestClass.runInstantEditorViewModelTest(
fun AnkiTest.runInstantEditorViewModelTest(
initViewModel: () -> InstantEditorViewModel = { InstantEditorViewModel() },
testBody: suspend InstantEditorViewModel.() -> Unit,
) = runTest {
Expand Down
3 changes: 2 additions & 1 deletion AnkiDroid/src/test/java/com/ichi2/testutils/JvmTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import com.ichi2.anki.common.time.TimeManager
import com.ichi2.anki.ioDispatcher
import com.ichi2.anki.libanki.Collection
import com.ichi2.anki.libanki.Storage
import com.ichi2.anki.libanki.testutils.AnkiTest
import com.ichi2.anki.observability.ChangeManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
Expand All @@ -43,7 +44,7 @@ import org.robolectric.junit.rules.TimeoutRule
import timber.log.Timber
import timber.log.Timber.Forest.plant

open class JvmTest : TestClass {
open class JvmTest : AnkiTest {
@get:Rule
val timeoutRule: TimeoutRule = TimeoutRule.seconds(60)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ import anki.collection.OpChanges
import com.ichi2.anki.libanki.Consts
import com.ichi2.anki.libanki.Note
import com.ichi2.anki.libanki.NotetypeJson
import com.ichi2.anki.libanki.testutils.AnkiTest
import com.ichi2.anki.observability.undoableOp
import com.ichi2.testutils.TestClass

suspend fun TestClass.addBasicNoteWithOp(
suspend fun AnkiTest.addBasicNoteWithOp(
fields: List<String> = listOf("foo", "bar"),
noteType: NotetypeJson = col.notetypes.byName("Basic")!!,
): Note =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* this program. If not, see <http://www.gnu.org/licenses/>.
*/

package com.ichi2.testutils
package com.ichi2.anki.libanki.testutils

import android.annotation.SuppressLint
import com.ichi2.anki.libanki.Card
Expand All @@ -28,7 +28,6 @@ import com.ichi2.anki.libanki.NotetypeJson
import com.ichi2.anki.libanki.Notetypes
import com.ichi2.anki.libanki.QueueType
import com.ichi2.anki.libanki.exception.ConfirmModSchemaException
import com.ichi2.anki.libanki.testutils.TestCollectionManager
import com.ichi2.anki.libanki.testutils.ext.addNote
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.test.StandardTestDispatcher
Expand All @@ -47,7 +46,7 @@ import kotlin.time.Duration.Companion.milliseconds
*
* Android (AnkiDroid/Robolectric) is not required for these tests to run
*/
interface TestClass {
interface AnkiTest {
val col: Collection

val collectionManager: TestCollectionManager
Expand Down Expand Up @@ -243,7 +242,7 @@ interface TestClass {
/** Helper method to update a card */
fun Card.update(update: Card.() -> Unit): Card {
update(this)
this@TestClass.col.updateCard(this, skipUndoEntry = true)
this@AnkiTest.col.updateCard(this, skipUndoEntry = true)
return this
}

Expand Down