You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by lt...@apache.org on 2007/12/16 20:56:28 UTC
svn commit: r604681 - in
/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src:
main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java
test/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextTest.java
Author: ltheussl
Date: Sun Dec 16 11:56:27 2007
New Revision: 604681
URL: http://svn.apache.org/viewvc?rev=604681&view=rev
Log:
[DOXIA-190] text like (=something=) is parsed incorrectly
Submitted by: Juan F. Codagnone, Christian Nardi
Modified:
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java
maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextTest.java
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java?rev=604681&r1=604680&r2=604681&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/main/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextParser.java Sun Dec 16 11:56:27 2007
@@ -174,7 +174,8 @@
while ( t != -1 && ( t = line.indexOf( SPECIAL_CHAR[i], t ) ) != -1 )
{
// and check if it at the begining of a word.
- if ( t == 0 || isSpace( line.charAt( t - 1 ) ) )
+ if ( t == 0 || isSpace( line.charAt( t - 1 ) )
+ || isParenthesis( line.charAt( t - 1 ) ) )
{
// if it is, and if, check to avoid going beyond the string
if ( t + specialLen < line.length() )
@@ -267,6 +268,14 @@
// profit
return ret;
+ }
+
+ /**
+ * @param c character to test
+ * @return <code>true</code> if c is a parenthesis
+ */
+ private boolean isParenthesis( final char c ) {
+ return c == '(' || c == ')';
}
/**
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextTest.java?rev=604681&r1=604680&r2=604681&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-twiki/src/test/java/org/apache/maven/doxia/module/twiki/parser/FormatedTextTest.java Sun Dec 16 11:56:27 2007
@@ -111,14 +111,16 @@
String text;
Block []blocks;
- text = "mary =has= a =little= lamb";
+ text = "mary =has= a =little= lamb He followed her (=to school one day=)";
blocks = formatTextParser.parse( text );
assertTrue( Arrays.equals( new Block[]{
new TextBlock( "mary " ),
new MonospaceBlock( new Block[]{new TextBlock( "has" )} ),
new TextBlock( " a " ),
new MonospaceBlock( new Block[]{new TextBlock( "little" )} ),
- new TextBlock( " lamb" ),
+ new TextBlock( " lamb He followed her (" ),
+ new MonospaceBlock( new Block[]{new TextBlock( "to school one day" )} ),
+ new TextBlock( ")" ),
}, blocks ) );
}