@Test public void an_inline_macro_extension_should_be_executed_when_an_inline_macro_is_detected() { this.asciidoctor.createGroup() .inlineMacro("man", ManpageMacro.class) .register(); String content = asciidoctor.convertFile( classpath.getResource("sample-with-man-link.ad"), options().toFile(false).get()); org.jsoup.nodes.Document doc = Jsoup.parse(content, "UTF-8"); Element link = doc.getElementsByTag("a").first(); assertThat(link.attr("href"), is("gittutorial.html")); }
@Test public void an_inline_macro_as_string_extension_should_be_executed_when_an_inline_macro_is_detected() { this.asciidoctor.createGroup() .inlineMacro("man", "org.asciidoctor.extension.ManpageMacro") .register(); String content = asciidoctor.convertFile( classpath.getResource("sample-with-man-link.ad"), options().toFile(false).get()); org.jsoup.nodes.Document doc = Jsoup.parse(content, "UTF-8"); Element link = doc.getElementsByTag("a").first(); assertThat(link.attr("href"), is("gittutorial.html")); }
@Test public void an_inline_macro_as_instance_extension_should_be_executed_when_regexp_is_set_as_option_inline_macro_is_detected() { Map<String, Object> options = new HashMap<String, Object>(); options.put(InlineMacroProcessor.REGEXP, "man(?:page)?:(\\S+?)\\[(.*?)\\]"); ManpageMacro inlineMacroProcessor = new ManpageMacro("man", options); this.asciidoctor.createGroup() .inlineMacro(inlineMacroProcessor) .register(); String content = asciidoctor.convertFile( classpath.getResource("sample-with-man-link.ad"), options().toFile(false).get()); org.jsoup.nodes.Document doc = Jsoup.parse(content, "UTF-8"); Element link = doc.getElementsByTag("a").first(); assertNotNull(link); assertThat(link.attr("href"), is("gittutorial.html")); }
@Test public void an_inline_macro_as_instance_extension_should_be_executed_when_an_inline_macro_is_detected() { Map<String, Object> options = new HashMap<String, Object>(); ManpageMacro inlineMacroProcessor = new ManpageMacro("man", options); this.asciidoctor.createGroup() .inlineMacro(inlineMacroProcessor) .register(); String content = asciidoctor.convertFile( classpath.getResource("sample-with-man-link.ad"), options().toFile(false).get()); org.jsoup.nodes.Document doc = Jsoup.parse(content, "UTF-8"); Element link = doc.getElementsByTag("a").first(); assertNotNull(link); assertThat(link.attr("href"), is("gittutorial.html")); }
@Test public void an_inline_macro_as_instance_extension_should_not_be_executed_when_regexp_is_set_and_does_not_match() { Map<String, Object> options = new HashMap<String, Object>(); options.put(InlineMacroProcessor.REGEXP, "man(?:page)?:(ThisDoesNotMatch)\\[(.*?)\\]"); ManpageMacro inlineMacroProcessor = new ManpageMacro("man", options); this.asciidoctor.createGroup() .inlineMacro(inlineMacroProcessor) .register(); String content = asciidoctor.convertFile( classpath.getResource("sample-with-man-link.ad"), options().toFile(false).get()); org.jsoup.nodes.Document doc = Jsoup.parse(content, "UTF-8"); Element link = doc.getElementsByTag("a").first(); assertNull(link); }