Add test for “Girl Genius,” fix parsing
[rhynodge.git] / src / test / java / net / pterodactylus / rhynodge / filters / comics / GirlGeniusComicFilterTest.java
1 package net.pterodactylus.rhynodge.filters.comics;
2
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.contains;
5
6 import java.io.IOException;
7
8 import net.pterodactylus.rhynodge.Filter;
9 import net.pterodactylus.rhynodge.filters.ResourceLoader;
10 import net.pterodactylus.rhynodge.states.ComicState;
11 import net.pterodactylus.rhynodge.states.HtmlState;
12
13 import org.jsoup.nodes.Document;
14 import org.junit.Test;
15
16 /**
17  * Unit test for {@link GirlGeniusComicFilterTest}.
18  *
19  * @author <a href="mailto:david.roden@bietr.de">David Roden</a>
20  */
21 public class GirlGeniusComicFilterTest {
22
23         private final Filter filter = new GirlGeniusComicFilter();
24         private final HtmlState htmlState;
25
26         public GirlGeniusComicFilterTest() throws IOException {
27                 Document document = ResourceLoader.loadDocument(GirlGeniusComicFilter.class, "girl-genius.html", "http://www.girlgeniusonline.com/comic.php");
28                 htmlState = new HtmlState("http://www.girlgeniusonline.com/comic.php", document);
29         }
30
31         @Test
32         public void comicCanBeParsed() {
33                 ComicState comicState = (ComicState) filter.filter(htmlState);
34                 assertThat(comicState.comics(), contains(
35                                 ComicMatchers.isComic("", contains(
36                                                 ComicMatchers.isStrip("http://www.girlgeniusonline.com/ggmain/strips/ggmain20150824.jpg", "")
37                                 ))
38                 ));
39         }
40
41 }