package gutenberg.pegdown.plugin; import gutenberg.pegdown.AbstractPegdownTest; import org.junit.Test; import org.parboiled.common.Reference; import org.pegdown.Extensions; import org.pegdown.Parser; import org.pegdown.PegDownProcessor; import org.pegdown.ast.RootNode; import org.pegdown.plugins.PegDownPlugins; import java.io.IOException; import static org.assertj.core.api.Assertions.assertThat; public class LinkContentPluginTest extends AbstractPegdownTest { @Test public void footnoteText_simpleCase_ast_build() throws IOException { String mkd = loadResource("linkContentText.md").trim(); String ast = loadResource("linkContentText.ast").trim(); check(mkd, ast); } private void check(String markdown, String expectedAst) { Reference<Parser> parserRef = new Reference<Parser>(); PegDownPlugins plugins = PegDownPlugins.builder() .withPlugin(LinkContentPlugin.class, parserRef) .build(); // --- PegDownProcessor processor = new PegDownProcessor(Extensions.ALL, plugins); parserRef.set(processor.parser); RootNode rootNode = processor.parseMarkdown(normalize(markdown).toCharArray()); String s = dumpAST(rootNode); assertThat(normalize(s.trim())).isEqualTo(normalize(expectedAst)); } }