✅ Add test for “Poorly Drawn Lines”
[rhynodge.git] / src / test / kotlin / net / pterodactylus / rhynodge / filters / comics / PoorlyDrawnLinesComicFilterTest.kt
1 package net.pterodactylus.rhynodge.filters.comics
2
3 import net.pterodactylus.rhynodge.filters.ResourceLoader
4 import net.pterodactylus.rhynodge.states.ComicState
5 import net.pterodactylus.rhynodge.states.ComicState.Strip
6 import net.pterodactylus.rhynodge.states.HtmlState
7 import org.hamcrest.MatcherAssert.assertThat
8 import org.hamcrest.Matchers.contains
9 import org.junit.Test
10
11 class PoorlyDrawnLinesComicFilterTest {
12
13         private val filter = PoorlyDrawnLinesComicFilter()
14         private val htmlState: HtmlState = ResourceLoader
15                         .loadDocument(javaClass, "poorly-drawn-lines.html", baseUrl)
16                         .let { HtmlState(baseUrl, it) }
17
18         @Test
19         fun `comic is extracted correctly`() {
20                 val comicState = filter.filter(htmlState) as ComicState
21                 assertThat(comicState.comics(), contains(
22                                 ComicState.Comic("A New Day").add(Strip("https://poorlydrawnlines.com/wp-content/uploads/2023/04/a_new_day.png", ""))
23                 ))
24         }
25
26 }
27
28 private const val baseUrl = "https://poorlydrawnlines.com/"