🐛 Fix Chief O’Brian at Work filter
[rhynodge.git] / src / test / kotlin / net / pterodactylus / rhynodge / filters / comics / ChiefOBrienAtWorkComicFilterTest.kt
1 package net.pterodactylus.rhynodge.filters.comics
2
3 import com.google.common.base.Optional
4 import net.pterodactylus.rhynodge.filters.ResourceLoader
5 import org.hamcrest.MatcherAssert.assertThat
6 import org.hamcrest.Matchers.contains
7 import org.hamcrest.Matchers.empty
8 import org.hamcrest.Matchers.equalTo
9 import org.jsoup.nodes.Document
10 import org.junit.Test
11
12 /**
13  * Unit test for [ChiefOBrienAtWorkComicFilter].
14  */
15 class ChiefOBrienAtWorkComicFilterTest {
16
17         @Test
18         fun `image url is parsed correctly`() {
19                 assertThat(filter.extractImageUrls(document), contains("https://64.media.tumblr.com/232470107c558ea4e1d37813fe2d083b/3bf229ad9e15b880-85/s2048x3072/a001c59dd84c4961266fd9e9574dc0ff497e1946.jpg"))
20         }
21
22         @Test
23         fun `image comments are parsed correctly`() {
24                 assertThat(filter.extractImageComments(document), empty())
25         }
26
27         @Test
28         fun `comic titles are parsed correctly`() {
29                 assertThat(filter.extractTitle(document), equalTo(Optional.of("EPISODE 384: So Sorry")))
30         }
31
32         private val filter = ChiefOBrienAtWorkComicFilter()
33
34 }
35
36 private val document: Document = ResourceLoader.loadDocument(ChiefOBrienAtWorkComicFilterTest::class.java, "chief-obrien-at-work.html", "http://chiefobrienatwork.com/")