package net.pterodactylus.rhynodge.filters.comics import net.pterodactylus.rhynodge.filters.ResourceLoader import net.pterodactylus.rhynodge.states.ComicState import net.pterodactylus.rhynodge.states.ComicState.Strip import net.pterodactylus.rhynodge.states.HtmlState import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.contains import org.junit.Test class PoorlyDrawnLinesComicFilterTest { private val filter = PoorlyDrawnLinesComicFilter() private val htmlState: HtmlState = ResourceLoader .loadDocument(javaClass, "poorly-drawn-lines.html", baseUrl) .let { HtmlState(baseUrl, it) } @Test fun `comic is extracted correctly`() { val comicState = filter.filter(htmlState) as ComicState assertThat(comicState.comics(), contains( ComicState.Comic("A New Day").add(Strip("https://poorlydrawnlines.com/wp-content/uploads/2023/04/a_new_day.png", "")) )) } } private const val baseUrl = "https://poorlydrawnlines.com/"