[DOXIA-597] render `code` as code
diff --git a/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java b/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java
index 4cfab7b..776fd6c 100644
--- a/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java
+++ b/doxia-core/src/main/java/org/apache/maven/doxia/parser/XhtmlBaseParser.java
@@ -510,7 +510,7 @@
|| ( parser.getName().equals( HtmlMarkup.SAMP.toString() ) )
|| ( parser.getName().equals( HtmlMarkup.TT.toString() ) ) )
{
- sink.inline( SinkEventAttributeSet.Semantics.MONOSPACED );
+ sink.inline( SinkEventAttributeSet.Semantics.CODE );
}
else if ( parser.getName().equals( HtmlMarkup.A.toString() ) )
{
diff --git a/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java b/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java
index 6b8b8e7..e4d4b1c 100644
--- a/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java
+++ b/doxia-core/src/test/java/org/apache/maven/doxia/parser/XhtmlBaseParserTest.java
@@ -554,11 +554,11 @@
event = it.next();
assertEquals( "inline", event.getName() );
- assertEquals( "semantics=monospaced", event.getArgs()[0].toString().trim() );
+ assertEquals( "semantics=code", event.getArgs()[0].toString().trim() );
event = it.next();
assertEquals( "inline", event.getName() );
- assertEquals( "semantics=monospaced", event.getArgs()[0].toString().trim() );
+ assertEquals( "semantics=code", event.getArgs()[0].toString().trim() );
event = it.next();
assertEquals( "inline", event.getName() );
diff --git a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
index 641d3df..7f3a8df 100644
--- a/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
+++ b/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownParser.java
@@ -124,7 +124,7 @@
* @return HTML content generated by flexmark-java
* @throws IOException passed through
*/
- private String toHtml( Reader source )
+ String toHtml( Reader source )
throws IOException
{
String text = IOUtil.toString( source );
diff --git a/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownParserTest.java b/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownParserTest.java
index 14d878d..2573b16 100644
--- a/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownParserTest.java
+++ b/doxia-modules/doxia-module-markdown/src/test/java/org/apache/maven/doxia/module/markdown/MarkdownParserTest.java
@@ -27,6 +27,8 @@
import org.apache.maven.doxia.parser.AbstractParserTest;
import org.apache.maven.doxia.parser.ParseException;
import org.apache.maven.doxia.parser.Parser;
+import org.apache.maven.doxia.sink.SinkEventAttributes;
+import org.apache.maven.doxia.sink.impl.SinkEventAttributeSet;
import org.apache.maven.doxia.sink.impl.SinkEventElement;
import org.apache.maven.doxia.sink.impl.SinkEventTestingSink;
@@ -90,37 +92,71 @@
}
/**
- * Assert the bold sink event is fired when parsing "bold.md".
+ * Assert the bold sink event is fired when parsing "font-bold.md".
*
* @throws Exception if the event list is not correct when parsing the document.
*/
- public void testBoldSinkEvent()
+ public void testFontBoldSinkEvent()
throws Exception
{
- Iterator<SinkEventElement> it = parseFileToEventTestingSink( "bold" ).getEventList().iterator();
+ //System.out.println( parseFileToHtml( "font-bold" ) );
+ List<SinkEventElement> eventList = parseFileToEventTestingSink( "font-bold" ).getEventList();
+ Iterator<SinkEventElement> it = eventList.iterator();
assertEquals( it, "head", "head_", "body", "paragraph", "inline", "text", "inline_", "paragraph_", "body_" );
assertFalse( it.hasNext() );
+
+ SinkEventElement inline = eventList.get( 4 );
+ assertEquals( "inline", inline.getName() );
+ SinkEventAttributeSet atts = (SinkEventAttributeSet) inline.getArgs()[0];
+ assertTrue( atts.containsAttribute( SinkEventAttributes.SEMANTICS, "bold" ) );
}
/**
- * Assert the italic sink event is fired when parsing "italic.md".
+ * Assert the italic sink event is fired when parsing "font-italic.md".
*
* @throws Exception if the event list is not correct when parsing the document.
*/
- public void testItalicSinkEvent()
+ public void testFontItalicSinkEvent()
throws Exception
{
- Iterator<SinkEventElement> it = parseFileToEventTestingSink( "italic" ).getEventList().iterator();
+ //System.out.println( parseFileToHtml( "font-italic" ) );
+ List<SinkEventElement> eventList = parseFileToEventTestingSink( "font-italic" ).getEventList();
+ Iterator<SinkEventElement> it = eventList.iterator();
assertEquals( it, "head", "head_", "body", "paragraph", "inline", "text", "inline_", "paragraph_", "body_" );
assertFalse( it.hasNext() );
+ SinkEventElement inline = eventList.get( 4 );
+ assertEquals( "inline", inline.getName() );
+ SinkEventAttributeSet atts = (SinkEventAttributeSet) inline.getArgs()[0];
+ assertTrue( atts.containsAttribute( SinkEventAttributes.SEMANTICS, "italic" ) );
}
/**
- * Assert the code sink event is fired when parsing "code.md".
+ * Assert the monospaced/code sink event is fired when parsing "font-monospaced.md".
+ *
+ * @throws Exception if the event list is not correct when parsing the document.
+ */
+ public void testFontMonospacedSinkEvent()
+ throws Exception
+ {
+ //System.out.println( parseFileToHtml( "font-monospaced" ) );
+ List<SinkEventElement> eventList = parseFileToEventTestingSink( "font-monospaced" ).getEventList();
+ Iterator<SinkEventElement> it = eventList.iterator();
+
+ assertEquals( it, "head", "head_", "body", "paragraph", "inline", "text", "inline_", "paragraph_", "body_" );
+
+ assertFalse( it.hasNext() );
+ SinkEventElement inline = eventList.get( 4 );
+ assertEquals( "inline", inline.getName() );
+ SinkEventAttributeSet atts = (SinkEventAttributeSet) inline.getArgs()[0];
+ assertTrue( atts.containsAttribute( SinkEventAttributes.SEMANTICS, "code" ) );
+ }
+
+ /**
+ * Assert the verbatim sink event is fired when parsing "code.md".
*
* @throws Exception if the event list is not correct when parsing the document.
*/
@@ -135,7 +171,7 @@
}
/**
- * Assert the image sink event is fired when parsing "image.md".
+ * Assert the figureGraphics sink event is fired when parsing "image.md".
*
* @throws Exception if the event list is not correct when parsing the document.
*/
@@ -317,6 +353,14 @@
return sink;
}
+ protected String parseFileToHtml( String file ) throws ParseException, IOException
+ {
+ try ( Reader reader = getTestReader( file ) )
+ {
+ return parser.toHtml( reader );
+ }
+ }
+
/** @throws Exception */
public void testTocMacro()
throws Exception
diff --git a/doxia-modules/doxia-module-markdown/src/test/resources/font-bold.md b/doxia-modules/doxia-module-markdown/src/test/resources/font-bold.md
index 21d2a87..80ee30b 100644
--- a/doxia-modules/doxia-module-markdown/src/test/resources/font-bold.md
+++ b/doxia-modules/doxia-module-markdown/src/test/resources/font-bold.md
@@ -1 +1 @@
-**This is italic text.**
+**This is bold text.**
diff --git a/doxia-modules/doxia-module-markdown/src/test/resources/font-monospaced.md b/doxia-modules/doxia-module-markdown/src/test/resources/font-monospaced.md
new file mode 100644
index 0000000..dbebda9
--- /dev/null
+++ b/doxia-modules/doxia-module-markdown/src/test/resources/font-monospaced.md
@@ -0,0 +1 @@
+`This is Monospaced text.`