diff --git a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaLibRepository.kt b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaLibRepository.kt index b526944b6..8458ed0f4 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaLibRepository.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/parser/site/MangaLibRepository.kt @@ -34,7 +34,7 @@ open class MangaLibRepository(loaderContext: MangaLoaderContext) : tag: MangaTag? ): List { if (!query.isNullOrEmpty()) { - return search(query) + return if (offset == 0) search(query) else emptyList() } val page = (offset / 60f).toIntUp() val url = buildString { diff --git a/app/src/test/java/org/koitharu/kotatsu/parsers/RemoteRepositoryTest.kt b/app/src/test/java/org/koitharu/kotatsu/parsers/RemoteRepositoryTest.kt index e75b6d32e..4f6033b5a 100644 --- a/app/src/test/java/org/koitharu/kotatsu/parsers/RemoteRepositoryTest.kt +++ b/app/src/test/java/org/koitharu/kotatsu/parsers/RemoteRepositoryTest.kt @@ -53,6 +53,8 @@ class RemoteRepositoryTest(source: MangaSource) : KoinTest { val list = runBlocking { repo.getList(0, query = "tail") } Assert.assertFalse("List is empty", list.isEmpty()) Assert.assertTrue("Mangas are not distinct", list.isDistinctBy { it.id }) + val nextList = runBlocking { repo.getList(list.size, query = "tail") } + Assert.assertNotEquals("Search pagination is broken", list, nextList) val item = list.random() AssertX.assertUrlRelative("Url is not relative", item.url) AssertX.assertContentType("Bad cover at ${item.url}", item.coverUrl, "image/*")