Hi Thomas,
Can you explain the reason for this change? It doesn't sound logical at first sight
that the code macro result isn't wrapped in a verbatim block.
Thanks
-Vincent
On Feb 21, 2010, at 4:14 PM, tmortagne (SVN) wrote:
Author: tmortagne
Date: 2010-02-21 16:14:04 +0100 (Sun, 21 Feb 2010)
New Revision: 27187
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/main/java/org/xwiki/rendering/internal/macro/code/CodeMacro.java
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode10.test
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode3.test
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode6.test
Log:
XWIKI-4915: Code macro 2.0 - inline language=none uses non-monospace font
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/main/java/org/xwiki/rendering/internal/macro/code/CodeMacro.java
===================================================================
---
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/main/java/org/xwiki/rendering/internal/macro/code/CodeMacro.java 2010-02-21
14:55:48 UTC (rev 27186)
+++
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/main/java/org/xwiki/rendering/internal/macro/code/CodeMacro.java 2010-02-21
15:14:04 UTC (rev 27187)
@@ -23,16 +23,18 @@
import java.util.Collections;
import java.util.List;
+import org.apache.commons.lang.StringUtils;
import org.xwiki.component.annotation.Component;
+import org.xwiki.component.annotation.Requirement;
import org.xwiki.component.manager.ComponentLookupException;
import org.xwiki.rendering.block.Block;
-import org.xwiki.rendering.block.VerbatimBlock;
import org.xwiki.rendering.macro.MacroExecutionException;
import org.xwiki.rendering.macro.box.AbstractBoxMacro;
import org.xwiki.rendering.macro.code.CodeMacroParameters;
import org.xwiki.rendering.macro.descriptor.DefaultContentDescriptor;
import org.xwiki.rendering.parser.HighlightParser;
import org.xwiki.rendering.parser.ParseException;
+import org.xwiki.rendering.parser.Parser;
import org.xwiki.rendering.transformation.MacroTransformationContext;
/**
@@ -48,7 +50,7 @@
* The description of the macro.
*/
private static final String DESCRIPTION = "Highlights code snippets of various
programming languages";
-
+
/**
* Used to indicate that content should not be highlighted.
*/
@@ -60,6 +62,12 @@
private static final String CONTENT_DESCRIPTION = "the content to
highlight";
/**
+ * Used to parse content when language="none".
+ */
+ @Requirement("plain/1.0")
+ private Parser plainTextParser;
+
+ /**
* Create and initialize the descriptor of the macro.
*/
public CodeMacro()
@@ -81,7 +89,14 @@
List<Block> result;
try {
if (LANGUAGE_NONE.equalsIgnoreCase(parameters.getLanguage())) {
- result = Collections.<Block> singletonList(new
VerbatimBlock(content, context.isInline()));
+ if (StringUtils.isEmpty(content)) {
+ result = Collections.emptyList();
+ } else {
+ result = this.plainTextParser.parse(new
StringReader(content)).getChildren();
+ if (context.isInline()) {
+ result = result.get(0).getChildren();
+ }
+ }
} else {
result = highlight(parameters, content);
}
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode10.test
===================================================================
---
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode10.test 2010-02-21
14:55:48 UTC (rev 27186)
+++
platform/core/trunk/xwiki-rendering/xwiki-rendering-macros/xwiki-rendering-macro-code/src/test/resources/macrocode10.test 2010-02-21
15:14:04 UTC (rev 27187)
@@ -16,7 +16,9 @@
endMacroMarkerStandalone [code] [language=notsupportedsyntax] [Text]
beginMacroMarkerStandalone [code] [language=none] [Text]
beginGroup [[class]=[box code]]
-onVerbatim [Text] [false]
+beginParagraph
+onWord [Text]
+endParagraph
endGroup [[class]=[box code]]
endMacroMarkerStandalone [code] [language=none] [Text]
endDocument
\ No newline at end of file
[snip]