You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by hi...@apache.org on 2001/11/08 16:05:20 UTC
cvs commit: xml-batik/test-sources/org/apache/batik/parser PathParserTest.java
hillion 01/11/08 07:05:20
Modified: test-resources/org/apache/batik/test regard.xml
Added: test-resources/org/apache/batik/parser unitTesting.xml
test-sources/org/apache/batik/parser PathParserTest.java
Log:
Commited tests for the path parser.
Revision Changes Path
1.1 xml-batik/test-resources/org/apache/batik/parser/unitTesting.xml
Index: unitTesting.xml
===================================================================
<!-- ========================================================================= -->
<!-- Copyright (C) The Apache Software Foundation. All rights reserved. -->
<!-- -->
<!-- This software is published under the terms of the Apache Software License -->
<!-- version 1.1, a copy of which has been included with this distribution in -->
<!-- the LICENSE file. -->
<!-- ========================================================================= -->
<!-- ========================================================================= -->
<!-- @author stephane@hillion.org -->
<!-- @version $Id: unitTesting.xml,v 1.1 2001/11/08 15:05:20 hillion Exp $ -->
<!-- ========================================================================= -->
<testSuite id="parser.unitTesting" name="org.apache.batik.parser package - Unit Testing">
<!-- ========================================================================== -->
<!-- PathParser tests -->
<!-- ========================================================================== -->
<test id="pathParser1" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2" />
<arg class="java.lang.String" value="M1.0 2.0" />
</test>
<test id="pathParser2" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="m1.1 2.0" />
<arg class="java.lang.String" value="m1.1 2.0" />
</test>
<test id="pathParser3" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2z" />
<arg class="java.lang.String" value="M1.0 2.0Z" />
</test>
<test id="pathParser4" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2e3Z" />
<arg class="java.lang.String" value="M1.0 2000.0Z" />
</test>
<test id="pathParser5" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2L 3,4" />
<arg class="java.lang.String" value="M1.0 2.0L3.0 4.0" />
</test>
<test id="pathParser6" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2H3.1" />
<arg class="java.lang.String" value="M1.0 2.0H3.1" />
</test>
<test id="pathParser7" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2h 3.1" />
<arg class="java.lang.String" value="M1.0 2.0h3.1" />
</test>
<test id="pathParser8" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2H 3.1,4" />
<arg class="java.lang.String" value="M1.0 2.0H3.1H4.0" />
</test>
<test id="pathParser9" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2h 3.1-4" />
<arg class="java.lang.String" value="M1.0 2.0h3.1h-4.0" />
</test>
<test id="pathParser10" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2V3.1e-3" />
<arg class="java.lang.String" value="M1.0 2.0V0.0031" />
</test>
<test id="pathParser11" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2V3.1" />
<arg class="java.lang.String" value="M1.0 2.0V3.1" />
</test>
<test id="pathParser12" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2v3.1,.4" />
<arg class="java.lang.String" value="M1.0 2.0v3.1v0.4" />
</test>
<test id="pathParser13" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2v3.1-.4" />
<arg class="java.lang.String" value="M1.0 2.0v3.1v-0.4" />
</test>
<test id="pathParser14" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2C3 4 5 6 7 8" />
<arg class="java.lang.String" value="M1.0 2.0C3.0 4.0 5.0 6.0 7.0 8.0" />
</test>
<test id="pathParser15" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2c.3.4.5.6.7.8" />
<arg class="java.lang.String" value="M1.0 2.0c0.3 0.4 0.5 0.6 0.7 0.8" />
</test>
<test id="pathParser16" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2S3+4+5+6" />
<arg class="java.lang.String" value="M1.0 2.0S3.0 4.0 5.0 6.0" />
</test>
<test id="pathParser17" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2s.3+.4+.5-.6" />
<arg class="java.lang.String" value="M1.0 2.0s0.3 0.4 0.5 -0.6" />
</test>
<test id="pathParser18" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2q3. 4.+5 6" />
<arg class="java.lang.String" value="M1.0 2.0q3.0 4.0 5.0 6.0" />
</test>
<test id="pathParser19" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2Q.3e0.4.5.6" />
<arg class="java.lang.String" value="M1.0 2.0Q0.3 0.4 0.5 0.6" />
</test>
<test id="pathParser20" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2t+.3-.4" />
<arg class="java.lang.String" value="M1.0 2.0t0.3 -0.4" />
</test>
<test id="pathParser21" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2T -.3+4" />
<arg class="java.lang.String" value="M1.0 2.0T-0.3 4.0" />
</test>
<test id="pathParser22" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2a3 4 5 0,1 6 7" />
<arg class="java.lang.String" value="M1.0 2.0a3.0 4.0 5.0 0 1 6.0 7.0" />
</test>
<test id="pathParser23" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2A3 4 5 0,1 6 7" />
<arg class="java.lang.String" value="M1.0 2.0A3.0 4.0 5.0 0 1 6.0 7.0" />
</test>
<test id="pathParser24" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2t+.3-.4,5,6" />
<arg class="java.lang.String" value="M1.0 2.0t0.3 -0.4t5.0 6.0" />
</test>
<test id="pathParser25" class="org.apache.batik.parser.PathParserTest" >
<arg class="java.lang.String" value="M1 2T -.3+4 5-6" />
<arg class="java.lang.String" value="M1.0 2.0T-0.3 4.0T5.0 -6.0" />
</test>
</testSuite>
1.17 +2 -1 xml-batik/test-resources/org/apache/batik/test/regard.xml
Index: regard.xml
===================================================================
RCS file: /home/cvs/xml-batik/test-resources/org/apache/batik/test/regard.xml,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- regard.xml 2001/10/30 14:15:33 1.16
+++ regard.xml 2001/11/08 15:05:20 1.17
@@ -11,7 +11,7 @@
<!-- regression testing. -->
<!-- -->
<!-- @author vincent.hardy@eng.sun.com -->
-<!-- @version $Id: regard.xml,v 1.16 2001/10/30 14:15:33 tkormann Exp $ -->
+<!-- @version $Id: regard.xml,v 1.17 2001/11/08 15:05:20 hillion Exp $ -->
<!-- ========================================================================= -->
<testRun id="regard" name="Batik Standard Regression Test Run">
<testReportProcessor class="org.apache.batik.test.xml.XMLTestReportProcessor" >
@@ -55,6 +55,7 @@
<testSuite href="file:test-resources/org/apache/batik/util/unitTesting.xml" />
<testSuite href="file:test-resources/org/apache/batik/dom/unitTesting.xml" />
<testSuite href="file:test-resources/org/apache/batik/gvt/unitTesting.xml" />
+ <testSuite href="file:test-resources/org/apache/batik/parser/unitTesting.xml" />
<testSuite href="file:test-resources/org/apache/batik/transcoder/image/unitTesting.xml" />
</testRun>
1.1 xml-batik/test-sources/org/apache/batik/parser/PathParserTest.java
Index: PathParserTest.java
===================================================================
/*****************************************************************************
* Copyright (C) The Apache Software Foundation. All rights reserved. *
* ------------------------------------------------------------------------- *
* This software is published under the terms of the Apache Software License *
* version 1.1, a copy of which has been included with this distribution in *
* the LICENSE file. *
*****************************************************************************/
package org.apache.batik.parser;
import java.io.*;
import org.apache.batik.test.*;
/**
* To test the path parser.
*
* @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
* @version $Id: PathParserTest.java,v 1.1 2001/11/08 15:05:20 hillion Exp $
*/
public class PathParserTest extends AbstractTest {
protected String sourcePath;
protected String destinationPath;
protected StringBuffer buffer;
protected String resultPath;
/**
* Creates a new PathParserTest.
* @param spath The path to parse.
* @param dpath The path after serialization.
*/
public PathParserTest(String spath, String dpath) {
sourcePath = spath;
destinationPath = dpath;
}
public TestReport runImpl() throws Exception {
PathParser pp = new PathParser();
pp.setPathHandler(new TestHandler());
try {
pp.parse(new StringReader(sourcePath));
} catch (ParseException e) {
DefaultTestReport report = new DefaultTestReport(this);
report.setErrorCode("parse.error");
report.addDescriptionEntry("exception.text", e.getMessage());
report.setPassed(false);
return report;
}
if (!destinationPath.equals(resultPath)) {
DefaultTestReport report = new DefaultTestReport(this);
report.setErrorCode("invalid.parsing.events");
report.addDescriptionEntry("expected.text", destinationPath);
report.addDescriptionEntry("generated.text", resultPath);
report.setPassed(false);
return report;
}
return reportSuccess();
}
class TestHandler extends DefaultPathHandler {
public TestHandler() {}
public void startPath() throws ParseException {
buffer = new StringBuffer();
}
public void movetoRel(float x, float y) throws ParseException {
buffer.append('m');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void movetoAbs(float x, float y) throws ParseException {
buffer.append('M');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void endPath() throws ParseException {
resultPath = buffer.toString();
}
public void closePath() throws ParseException {
buffer.append('Z');
}
public void linetoRel(float x, float y) throws ParseException {
buffer.append('l');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void linetoAbs(float x, float y) throws ParseException {
buffer.append('L');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void linetoHorizontalRel(float x) throws ParseException {
buffer.append('h');
buffer.append(x);
}
public void linetoHorizontalAbs(float x) throws ParseException {
buffer.append('H');
buffer.append(x);
}
public void linetoVerticalRel(float y) throws ParseException {
buffer.append('v');
buffer.append(y);
}
public void linetoVerticalAbs(float y) throws ParseException {
buffer.append('V');
buffer.append(y);
}
public void curvetoCubicRel(float x1, float y1,
float x2, float y2,
float x, float y) throws ParseException {
buffer.append('c');
buffer.append(x1);
buffer.append(' ');
buffer.append(y1);
buffer.append(' ');
buffer.append(x2);
buffer.append(' ');
buffer.append(y2);
buffer.append(' ');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void curvetoCubicAbs(float x1, float y1,
float x2, float y2,
float x, float y) throws ParseException {
buffer.append('C');
buffer.append(x1);
buffer.append(' ');
buffer.append(y1);
buffer.append(' ');
buffer.append(x2);
buffer.append(' ');
buffer.append(y2);
buffer.append(' ');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void curvetoCubicSmoothRel(float x2, float y2,
float x, float y) throws ParseException {
buffer.append('s');
buffer.append(x2);
buffer.append(' ');
buffer.append(y2);
buffer.append(' ');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void curvetoCubicSmoothAbs(float x2, float y2,
float x, float y) throws ParseException {
buffer.append('S');
buffer.append(x2);
buffer.append(' ');
buffer.append(y2);
buffer.append(' ');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void curvetoQuadraticRel(float x1, float y1,
float x, float y) throws ParseException {
buffer.append('q');
buffer.append(x1);
buffer.append(' ');
buffer.append(y1);
buffer.append(' ');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void curvetoQuadraticAbs(float x1, float y1,
float x, float y) throws ParseException {
buffer.append('Q');
buffer.append(x1);
buffer.append(' ');
buffer.append(y1);
buffer.append(' ');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void curvetoQuadraticSmoothRel(float x, float y)
throws ParseException {
buffer.append('t');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void curvetoQuadraticSmoothAbs(float x, float y)
throws ParseException {
buffer.append('T');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void arcRel(float rx, float ry,
float xAxisRotation,
boolean largeArcFlag, boolean sweepFlag,
float x, float y) throws ParseException {
buffer.append('a');
buffer.append(rx);
buffer.append(' ');
buffer.append(ry);
buffer.append(' ');
buffer.append(xAxisRotation);
buffer.append(' ');
buffer.append(largeArcFlag ? '1' : '0');
buffer.append(' ');
buffer.append(sweepFlag ? '1' : '0');
buffer.append(' ');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
public void arcAbs(float rx, float ry,
float xAxisRotation,
boolean largeArcFlag, boolean sweepFlag,
float x, float y) throws ParseException {
buffer.append('A');
buffer.append(rx);
buffer.append(' ');
buffer.append(ry);
buffer.append(' ');
buffer.append(xAxisRotation);
buffer.append(' ');
buffer.append(largeArcFlag ? '1' : '0');
buffer.append(' ');
buffer.append(sweepFlag ? '1' : '0');
buffer.append(' ');
buffer.append(x);
buffer.append(' ');
buffer.append(y);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org