|
|
|
|
@ -19,7 +19,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|list|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun list(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun list(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val list = parser.getList(0, null)
|
|
|
|
|
checkMangaList(list, "list")
|
|
|
|
|
@ -28,7 +28,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|pagination|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun pagination(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun pagination(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val page1 = parser.getList(0, filter = null)
|
|
|
|
|
val page2 = parser.getList(page1.size, filter = null)
|
|
|
|
|
@ -48,7 +48,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|search|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun search(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun search(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val subject = parser.getList(
|
|
|
|
|
offset = 0,
|
|
|
|
|
@ -64,6 +64,8 @@ internal class MangaParserTest {
|
|
|
|
|
year = null,
|
|
|
|
|
yearFrom = null,
|
|
|
|
|
yearTo = null,
|
|
|
|
|
types = emptySet(),
|
|
|
|
|
demographics = emptySet(),
|
|
|
|
|
),
|
|
|
|
|
).minByOrNull {
|
|
|
|
|
it.title.length
|
|
|
|
|
@ -81,7 +83,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|tags|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun tags(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun tags(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val tags = parser.getAvailableTags()
|
|
|
|
|
assert(tags.isNotEmpty()) { "No tags found" }
|
|
|
|
|
@ -110,7 +112,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|tags_multiple|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun tagsMultiple(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun tagsMultiple(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
if (!parser.isMultipleTagsSupported) return@runTest
|
|
|
|
|
val tags = parser.getAvailableTags().shuffled().take(2).toSet()
|
|
|
|
|
@ -125,7 +127,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|locale|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun locale(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun locale(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val locales = parser.getAvailableLocales()
|
|
|
|
|
if (locales.isEmpty()) {
|
|
|
|
|
@ -143,6 +145,8 @@ internal class MangaParserTest {
|
|
|
|
|
year = null,
|
|
|
|
|
yearFrom = null,
|
|
|
|
|
yearTo = null,
|
|
|
|
|
types = emptySet(),
|
|
|
|
|
demographics = emptySet(),
|
|
|
|
|
)
|
|
|
|
|
val list = parser.getList(offset = 0, filter)
|
|
|
|
|
checkMangaList(list, filter.locale.toString())
|
|
|
|
|
@ -152,7 +156,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|details|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun details(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun details(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val list = parser.getList(0, null)
|
|
|
|
|
val manga = list[3]
|
|
|
|
|
@ -182,7 +186,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|pages|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun pages(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun pages(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val list = parser.getList(0, null)
|
|
|
|
|
val manga = list.first()
|
|
|
|
|
@ -206,7 +210,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|favicon|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun favicon(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun favicon(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val favicons = parser.getFavicons()
|
|
|
|
|
val types = setOf("png", "svg", "ico", "gif", "jpg", "jpeg")
|
|
|
|
|
@ -222,7 +226,7 @@ internal class MangaParserTest {
|
|
|
|
|
|
|
|
|
|
@ParameterizedTest(name = "{index}|domain|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
fun domain(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun domain(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
val defaultDomain = parser.domain
|
|
|
|
|
val url = HttpUrl.Builder().host(defaultDomain).scheme("https").toString()
|
|
|
|
|
@ -238,7 +242,7 @@ internal class MangaParserTest {
|
|
|
|
|
@ParameterizedTest(name = "{index}|authorization|{0}")
|
|
|
|
|
@MangaSources
|
|
|
|
|
@Disabled
|
|
|
|
|
fun authorization(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
fun authorization(source: MangaParserSource) = runTest(timeout = timeout) {
|
|
|
|
|
val parser = context.newParserInstance(source)
|
|
|
|
|
if (parser is MangaParserAuthProvider) {
|
|
|
|
|
val username = parser.getUsername()
|
|
|
|
|
|