001package edu.pdx.cs.joy.grader.poa.ui; 002 003import org.junit.jupiter.api.Test; 004 005import javax.swing.text.BadLocationException; 006import javax.swing.text.html.HTMLDocument; 007import javax.swing.text.html.HTMLEditorKit; 008import java.io.*; 009 010import static org.hamcrest.MatcherAssert.assertThat; 011import static org.hamcrest.Matchers.containsString; 012 013public class HTMLEditorKitTest { 014 015 @Test 016 public void canParseHtmlFromAnEmail() throws IOException, BadLocationException { 017 InputStream resource = getClass().getResourceAsStream("HtmlFromAnEmail.html"); 018 Reader reader = new InputStreamReader(resource); 019 020 HTMLEditorKit kit = new HTMLEditorKit(); 021 HTMLDocument document = new HTMLDocument(); 022 document.getDocumentProperties().put("IgnoreCharsetDirective", true); 023 kit.read(reader, document, 0); 024 025 StringWriter writer = new StringWriter(); 026 kit.write(writer, document, 0, document.getLength()); 027 028 String renderedHtml = writer.toString(); 029 030 assertThat(renderedHtml, containsString("short of one thing in particular")); 031 } 032}