Author: ltheussl Date: Wed Aug 15 06:09:17 2007 New Revision: 566139 URL: http://svn.apache.org/viewvc?view=rev&rev=566139 Log: Use new test classes, make testing independent of apt-module. Avoid constructor throwing Exception.
Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/pom.xml maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/pom.xml URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/pom.xml?view=diff&rev=566139&r1=566138&r2=566139 ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/pom.xml (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/pom.xml Wed Aug 15 06:09:17 2007 @@ -8,13 +8,4 @@ <artifactId>doxia-module-latex</artifactId> <name>Doxia :: Latex Module</name> <description>A Doxia module for LaTeX source documents.</description> - - <dependencies> - <dependency> - <groupId>org.apache.maven.doxia</groupId> - <artifactId>doxia-module-apt</artifactId> - <version>${projectVersion}</version> - <scope>test</scope> - </dependency> - </dependencies> </project> Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java?view=diff&rev=566139&r1=566138&r2=566139 ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/main/java/org/apache/maven/doxia/module/latex/LatexSink.java Wed Aug 15 06:09:17 2007 @@ -76,16 +76,13 @@ // ---------------------------------------------------------------------- public LatexSink( Writer out ) - throws IOException { - this( out, IOUtil.toString( getDefaultSinkCommands() ), IOUtil.toString( getDefaultPreamble() ) ); + this( out, defaultSinkCommands(), defaultPreamble() ); } public LatexSink( Writer out, String sinkCommands, String preamble ) { - this.out = new LineBreaker( out ); - this.sinkCommands = sinkCommands; - this.preamble = preamble; + this( out, sinkCommands, preamble, false ); } public LatexSink( Writer out, String sinkCommands, String preamble, boolean fragmentDocument ) @@ -166,7 +163,7 @@ markup( getDocumentEnd() ); } - out.flush(); + flush(); } // ---------------------------------------------------------------------- @@ -518,6 +515,7 @@ public void sectionTitle_() { + // TODO: closing bracket? markup( "}" + EOL + EOL ); } @@ -844,4 +842,37 @@ { return LatexSink.class.getResource( "default_preamble.tex" ).openStream(); } + + public static String defaultSinkCommands() + { + String commands = ""; + + try + { + commands = IOUtil.toString( getDefaultSinkCommands() ); + } + catch ( IOException ioe ) + { + // TODO: log + } + + return commands; + } + + public static String defaultPreamble() + { + String preamble = ""; + + try + { + preamble = IOUtil.toString( getDefaultPreamble() ); + } + catch ( IOException ioe ) + { + // TODO: log + } + + return preamble; + } + } Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java?view=diff&rev=566139&r1=566138&r2=566139 ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-latex/src/test/java/org/apache/maven/doxia/module/latex/LatexSinkTest.java Wed Aug 15 06:09:17 2007 @@ -19,46 +19,209 @@ * under the License. */ +import java.io.Writer; + import org.apache.maven.doxia.module.latex.LatexSink; -import org.apache.maven.doxia.module.apt.AptParser; import org.apache.maven.doxia.sink.Sink; -import org.apache.maven.doxia.sink.AbstractSinkTestCase; +import org.apache.maven.doxia.sink.AbstractSinkTest; import org.apache.maven.doxia.parser.Parser; -import java.io.Reader; -import java.io.InputStream; -import java.io.InputStreamReader; - /** * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a> * @version $Id:LatexSinkTest.java 348605 2005-11-24 12:02:44 +1100 (Thu, 24 Nov 2005) brett $ */ public class LatexSinkTest - extends AbstractSinkTestCase + extends AbstractSinkTest { protected String outputExtension() { return "tex"; } - protected Parser createParser() + protected Sink createSink( Writer writer ) + { + return new LatexSink( writer ); + } + + /** [EMAIL PROTECTED] */ + protected String getTitleBlock( String title ) + { + return "\\ptitle{" + title + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getAuthorBlock( String author ) + { + return "\\pauthor{" + author + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getDateBlock( String date ) + { + return "\\pdate{" + date + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getHeadBlock() + { + return LatexSink.defaultSinkCommands() + + "\\documentclass[a4paper]{article}" + + LatexSink.defaultPreamble() + + "\\begin{document}"; + } + + /** [EMAIL PROTECTED] */ + protected String getBodyBlock() + { + return "\\end{document}"; + } + + /** [EMAIL PROTECTED] */ + protected String getSectionTitleBlock( String title ) + { + // TODO: closing bracket? + return title + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getSection1Block( String title ) + { + return "\\psectioni{" + title + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getSection2Block( String title ) + { + return "\\psectionii{" + title + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getSection3Block( String title ) + { + return "\\psectioniii{" + title + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getSection4Block( String title ) + { + return "\\psectioniv{" + title + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getSection5Block( String title ) + { + return "\\psectionv{" + title + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getListBlock( String item ) + { + return "\\begin{plist}\\item{} " + item + "\\end{plist}"; + } + + /** [EMAIL PROTECTED] */ + protected String getNumberedListBlock( String item ) { - return new AptParser(); + return "\\begin{pnumberedlist}\\renewcommand{\\theenumi}{\\roman{enumi}}\\item{} " + item + "\\end{pnumberedlist}"; } - protected Sink createSink() - throws Exception + /** [EMAIL PROTECTED] */ + protected String getDefinitionListBlock( String definum, String definition ) { - return new LatexSink( getTestWriter() ); + return "\\begin{pdefinitionlist}\\item[\\mbox{" + definum + "}] " + definition + "\\end{pdefinitionlist}"; } - protected Reader getTestReader() - throws Exception + /** [EMAIL PROTECTED] */ + protected String getFigureBlock( String source, String caption ) { - InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream( "test.apt" ); + return "\\begin{pfigure}\\pfiguregraphics{" + source + "}\\pfigurecaption{" + caption + "}\\end{pfigure}"; + } - InputStreamReader reader = new InputStreamReader( is ); + /** [EMAIL PROTECTED] */ + protected String getTableBlock( String cell, String caption ) + { + // TODO: something's wrong + return "\\begin{ptable}\\begin{ptablerows}{c}\\begin{pcell}{c}cell\\end{pcell}\\\\\\end{ptablerows}\\ptablecaption{Table caption}\\end{ptable}"; + } - return reader; + /** [EMAIL PROTECTED] */ + protected String getParagraphBlock( String text ) + { + return text; } + + /** [EMAIL PROTECTED] */ + protected String getVerbatimBlock( String text ) + { + return "\\begin{pverbatimbox}\\begin{verbatim}" + text + "\\end{verbatim}\\end{pverbatimbox}"; + } + + /** [EMAIL PROTECTED] */ + protected String getHorizontalRuleBlock() + { + return "\\phorizontalrule"; + } + + /** [EMAIL PROTECTED] */ + protected String getPageBreakBlock() + { + return "\\newpage"; + } + + /** [EMAIL PROTECTED] */ + protected String getAnchorBlock( String anchor ) + { + return "\\panchor{" + anchor + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getLinkBlock( String link, String text ) + { + return "\\plink{" + text + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getItalicBlock( String text ) + { + return "\\pitalic{" + text + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getBoldBlock( String text ) + { + return "\\pbold{" + text + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getMonospacedBlock( String text ) + { + return "\\pmonospaced{" + text + "}"; + } + + /** [EMAIL PROTECTED] */ + protected String getLineBreakBlock() + { + return "\\newline"; + } + + /** [EMAIL PROTECTED] */ + protected String getNonBreakingSpaceBlock() + { + return "~"; + } + + /** [EMAIL PROTECTED] */ + protected String getTextBlock( String text ) + { + // TODO: how to retrieve those outside the sink? + return "\\textasciitilde , =, \\symbol{45}, +, *, [, ], \\symbol{60}, \\symbol{62}, \\{,\\}, \\textbackslash"; + } + + /** [EMAIL PROTECTED] */ + protected String getRawTextBlock( String text ) + { + // TODO: not implemented + return ""; + } + }