Author: ltheussl
Date: Fri Oct 26 05:21:38 2007
New Revision: 588621

URL: http://svn.apache.org/viewvc?rev=588621&view=rev
Log:
DOXIA-176: strip leading space in section titles. Thanks to Dave Syer.

Added:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/section.confluence
Modified:
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java
    
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java?rev=588621&r1=588620&r2=588621&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/SectionBlockParser.java
 Fri Oct 26 05:21:38 2007
@@ -60,7 +60,7 @@
     {
         int level = Integer.parseInt( Character.toString( line.charAt( 1 ) ) );
 
-        String title = line.substring( 3 );
+        String title = line.substring( 3 ).trim();
 
         return new SectionBlock( title, level );
     }

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java?rev=588621&r1=588620&r2=588621&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
 Fri Oct 26 05:21:38 2007
@@ -36,6 +36,13 @@
 {
     private ConfluenceParser parser;
 
+    private StringWriter output;
+
+    private Reader reader;
+
+    private Writer writer;
+
+
     /** [EMAIL PROTECTED] */
     protected void setUp()
         throws Exception
@@ -43,6 +50,10 @@
         super.setUp();
 
         parser = (ConfluenceParser) lookup( Parser.ROLE, "confluence" );
+
+        output = null;
+        reader = null;
+        writer = null;
     }
 
     /** [EMAIL PROTECTED] */
@@ -63,10 +74,6 @@
     {
         String lineBreak = getLineBreakString();
 
-        StringWriter output = null;
-        Reader reader = null;
-        Writer writer = null;
-
         try
         {
             output = new StringWriter();
@@ -93,14 +100,47 @@
         }
     }
 
+    public void testSectionTitles()
+        throws Exception
+    {
+        try
+        {
+            output = new StringWriter();
+            reader = getTestReader( "section", outputExtension() );
+            writer = getTestWriter( "section", "txt" );
+
+            Sink sink = new TextSink( output );
+            createParser().parse( reader, sink );
+
+            // write to file
+            String expected = output.toString();
+            writer.write( expected );
+            writer.flush();
+
+            for ( int i = 1; i <= 5; i++ )
+            {
+                assertTrue( "Could not locate section " + i + " title",
+                            expected.indexOf( "sectionTitle" + i + EOL + 
"text: " + "Section" + i ) != -1 );
+            }
+
+            assertTrue( "Section title has leading space",
+                         expected.indexOf( "sectionTitle1" + EOL + "text: " + 
"TitleWithLeadingSpace" ) != -1 );
+        }
+        finally
+        {
+            output.close();
+            reader.close();
+            writer.close();
+        }
+    }
+
     private String getLineBreakString()
     {
-        StringWriter output = new StringWriter();
-        Sink sink = new TextSink( output );
+        StringWriter sw = new StringWriter();
+        Sink sink = new TextSink( sw );
         sink.lineBreak();
 
-        return output.toString();
+        return sw.toString();
     }
-
 
 }

Added: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/section.confluence
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/section.confluence?rev=588621&view=auto
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/section.confluence
 (added)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/section.confluence
 Fri Oct 26 05:21:38 2007
@@ -0,0 +1,9 @@
+h1. Section1
+
+h2. Section2
+h3. Section3
+
+h4. Section4
+h5. Section5
+
+h1.  TitleWithLeadingSpace


Reply via email to