🚑️ Update filter for Cyanide & Happiness
[rhynodge.git] / src / test / java / net / pterodactylus / rhynodge / filters / comics / CyanideAndHappinessComicFilterTest.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.filters.ResourceLoader;
9 import net.pterodactylus.rhynodge.states.ComicState;
10 import net.pterodactylus.rhynodge.states.HtmlState;
11
12 import org.jsoup.nodes.Document;
13 import org.junit.Test;
14
15 /**
16  * Unit test for {@link CyanideAndHappinessComicFilter}.
17  *
18  * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
19  */
20 public class CyanideAndHappinessComicFilterTest {
21
22         private final CyanideAndHappinessComicFilter comicSiteFilter = new CyanideAndHappinessComicFilter();
23         private final Document document;
24         private final HtmlState htmlState;
25
26         public CyanideAndHappinessComicFilterTest() throws IOException {
27                 document = ResourceLoader.loadDocument(getClass(), "cyanide-and-happiness.html", "https://explosm.net/");
28                 htmlState = new HtmlState("https://explosm.net/", document);
29         }
30
31         @Test
32         public void comicCanBeParsed() {
33                 ComicState comicState = (ComicState) comicSiteFilter.filter(htmlState);
34                 assertThat(comicState.comics(), contains(
35                                 ComicMatchers.isComic("", contains(
36                                                 ComicMatchers.isStrip("https://static.explosm.net/2022/06/11022918/bringaparent.png", "")
37                                 ))
38                 ));
39         }
40
41 }