~ubuntu-branches/ubuntu/vivid/doxia/vivid-proposed

« back to all changes in this revision

Viewing changes to doxia-modules/doxia-module-docbook-simple/src/test/java/org/apache/maven/doxia/module/docbook/DocBookParserTest.java

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-10-08 14:20:22 UTC
  • mfrom: (2.3.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091008142022-f6ccxganfr2tbaig
Tags: 1.1-3build1
Upload to karmic, avoiding new version from unstable. LP: #443292.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import java.io.Reader;
24
24
import java.io.Writer;
25
25
 
 
26
import java.util.Iterator;
 
27
 
26
28
import org.apache.maven.doxia.parser.AbstractParserTest;
27
29
import org.apache.maven.doxia.parser.Parser;
28
30
import org.apache.maven.doxia.parser.ParseException;
29
31
import org.apache.maven.doxia.sink.Sink;
 
32
import org.apache.maven.doxia.sink.SinkEventElement;
 
33
import org.apache.maven.doxia.sink.SinkEventTestingSink;
 
34
import org.codehaus.plexus.util.IOUtil;
30
35
 
31
36
/**
32
37
 * @author <a href="mailto:lars@trieloff.net">Lars Trieloff</a>
33
 
 * @version $Id: DocBookParserTest.java 567679 2007-08-20 13:05:20Z ltheussl $
 
38
 * @version $Id: DocBookParserTest.java 712557 2008-11-09 21:26:04Z hboutemy $
34
39
 */
35
40
public class DocBookParserTest extends AbstractParserTest
36
41
{
68
73
        throws IOException, ParseException
69
74
    {
70
75
        Writer writer = null;
71
 
 
72
76
        Reader reader = null;
73
77
 
74
78
        try
82
86
        }
83
87
        finally
84
88
        {
85
 
            if ( writer  != null )
86
 
            {
87
 
                writer.close();
88
 
            }
89
 
 
90
 
            if ( reader != null )
91
 
            {
92
 
                reader.close();
93
 
            }
 
89
            IOUtil.close( reader );
 
90
            IOUtil.close( writer );
94
91
        }
95
92
    }
96
93
 
97
 
 
 
94
    /** @throws Exception  */
 
95
    public void testSignificantWhiteSpace()
 
96
        throws Exception
 
97
    {
 
98
        // NOTE significant white space
 
99
        String text = "<para><command>word</command> <emphasis>word</emphasis></para>";
 
100
 
 
101
        SinkEventTestingSink sink = new SinkEventTestingSink();
 
102
 
 
103
        parser.parse( text, sink );
 
104
 
 
105
        Iterator it = sink.getEventList().iterator();
 
106
 
 
107
        assertEquals( "paragraph", ( (SinkEventElement) it.next() ).getName() );
 
108
        assertEquals( "bold", ( (SinkEventElement) it.next() ).getName() );
 
109
        assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
 
110
        assertEquals( "bold_", ( (SinkEventElement) it.next() ).getName() );
 
111
 
 
112
        SinkEventElement el = (SinkEventElement) it.next();
 
113
        assertEquals( "text", el.getName() );
 
114
        assertEquals( " ",  (String) el.getArgs()[0] );
 
115
 
 
116
        assertEquals( "italic", ( (SinkEventElement) it.next() ).getName() );
 
117
        assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
 
118
        assertEquals( "italic_", ( (SinkEventElement) it.next() ).getName() );
 
119
        assertEquals( "paragraph_", ( (SinkEventElement) it.next() ).getName() );
 
120
        assertFalse( it.hasNext() );
 
121
 
 
122
 
 
123
        // same test with EOL
 
124
        text = "<para><command>word</command>" + EOL + "<emphasis>word</emphasis></para>";
 
125
 
 
126
        sink.reset();
 
127
        parser.parse( text, sink );
 
128
        it = sink.getEventList().iterator();
 
129
 
 
130
        assertEquals( "paragraph", ( (SinkEventElement) it.next() ).getName() );
 
131
        assertEquals( "bold", ( (SinkEventElement) it.next() ).getName() );
 
132
        assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
 
133
        assertEquals( "bold_", ( (SinkEventElement) it.next() ).getName() );
 
134
 
 
135
        el = (SinkEventElement) it.next();
 
136
        assertEquals( "text", el.getName() );
 
137
        assertEquals( EOL,  (String) el.getArgs()[0] );
 
138
 
 
139
        assertEquals( "italic", ( (SinkEventElement) it.next() ).getName() );
 
140
        assertEquals( "text", ( (SinkEventElement) it.next() ).getName() );
 
141
        assertEquals( "italic_", ( (SinkEventElement) it.next() ).getName() );
 
142
        assertEquals( "paragraph_", ( (SinkEventElement) it.next() ).getName() );
 
143
        assertFalse( it.hasNext() );
 
144
 
 
145
    }
98
146
}