package net.pterodactylus.rhynodge.filters.comics import com.google.common.base.Optional import net.pterodactylus.rhynodge.filters.ResourceLoader import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.contains import org.hamcrest.Matchers.empty import org.hamcrest.Matchers.equalTo import org.jsoup.nodes.Document import org.junit.Test /** * Unit test for [ChiefOBrienAtWorkComicFilter]. */ class ChiefOBrienAtWorkComicFilterTest { @Test fun `image url is parsed correctly`() { assertThat(filter.extractImageUrls(document), contains("https://64.media.tumblr.com/232470107c558ea4e1d37813fe2d083b/3bf229ad9e15b880-85/s2048x3072/a001c59dd84c4961266fd9e9574dc0ff497e1946.jpg")) } @Test fun `image comments are parsed correctly`() { assertThat(filter.extractImageComments(document), empty()) } @Test fun `comic titles are parsed correctly`() { assertThat(filter.extractTitle(document), equalTo(Optional.of("EPISODE 384: So Sorry"))) } private val filter = ChiefOBrienAtWorkComicFilter() } private val document: Document = ResourceLoader.loadDocument(ChiefOBrienAtWorkComicFilterTest::class.java, "chief-obrien-at-work.html", "http://chiefobrienatwork.com/")