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 de...@apache.org on 2003/08/22 23:22:45 UTC

cvs commit: xml-batik/test-sources/org/apache/batik/test/svg JSVGRenderingAccuracyTest.java PreconfiguredRenderingTest.java

deweese     2003/08/22 14:22:45

  Modified:    sources/org/apache/batik/bridge SVGTextElementBridge.java
               test-resources/org/apache/batik/gvt unitTesting.xml
               test-sources/org/apache/batik/gvt TextSelectionTest.java
               test-sources/org/apache/batik/test/svg
                        JSVGRenderingAccuracyTest.java
                        PreconfiguredRenderingTest.java
  Added:       test-references/samples/tests/spec/fonts fontFace.png
                        fontOnPath-middle50-1-13.png
                        fontOnPath-start35-0-13.png
               test-references/samples/tests/spec/scripting
                        eventAttrAdd.png styling.png
               test-references/samples/tests/spec/styling styleElement.png
               test-references/samples/tests/spec/text
                        textBiDi-arabic-5-40.png textBiDi-cyrillic-4-24.png
                        textBiDi-greek-0-35.png textBiDi-hebrew-10-20.png
                        textBiDi-latin-0-20.png
                        textBiDi-latin-extended-0-15.png
                        verticalText-orient0-3-18.png
                        verticalText-orient180-3-18.png
                        verticalText-orient270-3-18.png
                        verticalText-orient90-3-18.png
                        verticalTextOnPath-beforeafter-0-28.png
                        verticalTextOnPath-negpos-3-17.png
                        verticalTextOnPath-supersub-3-18.png
  Log:
  1) Infinate loop in selectSubString is fixed.
  2) Text selection test now derives off JSVGRenderingAccuracy test so
     the results are images with highlighted text.
  
  Revision  Changes    Path
  1.88      +5 -5      xml-batik/sources/org/apache/batik/bridge/SVGTextElementBridge.java
  
  Index: SVGTextElementBridge.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGTextElementBridge.java,v
  retrieving revision 1.87
  retrieving revision 1.88
  diff -u -r1.87 -r1.88
  --- SVGTextElementBridge.java	22 Aug 2003 10:49:06 -0000	1.87
  +++ SVGTextElementBridge.java	22 Aug 2003 21:22:44 -0000	1.88
  @@ -2816,15 +2816,15 @@
           int visible = 0;
           int k = 0;
           StrokingTextPainter.TextRun run = null;
  -
  +        
           for( k = startIndex ; (visible < (charnum+1)) ; k++ ){
  -
  -            for( int l = 0 ; l < list.size() && (visible < (charnum+1)) ; l++ ){
  +            if (k > aci.getEndIndex()) return null;
  +            for( int l = 0 ; l < list.size() && (visible < (charnum+1)) ; l++){
                   run = (StrokingTextPainter.TextRun)list.get(l);
   
                   TextSpanLayout layout = run.getLayout();
   
  -                if ( layout.hasCharacterIndex(k) ){
  +                if ( layout.hasCharacterIndex(k) ) {
                       if ( layout.isOnATextPath() ){
                           
                           GVTGlyphVector vector = layout.getGlyphVector();
  
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/fonts/fontFace.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/fonts/fontOnPath-middle50-1-13.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/fonts/fontOnPath-start35-0-13.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/scripting/eventAttrAdd.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/scripting/styling.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/styling/styleElement.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/textBiDi-arabic-5-40.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/textBiDi-cyrillic-4-24.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/textBiDi-greek-0-35.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/textBiDi-hebrew-10-20.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/textBiDi-latin-0-20.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/textBiDi-latin-extended-0-15.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/verticalText-orient0-3-18.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/verticalText-orient180-3-18.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/verticalText-orient270-3-18.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/verticalText-orient90-3-18.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/verticalTextOnPath-beforeafter-0-28.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/verticalTextOnPath-negpos-3-17.png
  
  	<<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/text/verticalTextOnPath-supersub-3-18.png
  
  	<<Binary file>>
  
  
  1.3       +21 -31    xml-batik/test-resources/org/apache/batik/gvt/unitTesting.xml
  
  Index: unitTesting.xml
  ===================================================================
  RCS file: /home/cvs/xml-batik/test-resources/org/apache/batik/gvt/unitTesting.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- unitTesting.xml	8 Aug 2003 11:39:46 -0000	1.2
  +++ unitTesting.xml	22 Aug 2003 21:22:44 -0000	1.3
  @@ -59,17 +59,17 @@
       <!--                         Text Selection Tests                       -->
       <!-- ================================================================== -->
   
  -    <test id="ts.latin" class="org.apache.batik.gvt.TextSelectionTest">
  +    <test id="text.selection.latin" 
  +    class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the latin entry -->
           <arg class="java.lang.String"  
                value="samples/tests/spec/text/textBiDi.svg" />
           <arg class="java.lang.String"  value="latin" />
           <arg class="java.lang.Integer" value="0" />
           <arg class="java.lang.Integer" value="20" />
  -        <arg class="java.lang.String"  value="ts.latin.txt" />
       </test>
   
  -    <test id="ts.latin-ext" 
  +    <test id="text.selection.latin-ext" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the latin-extended entry -->
           <arg class="java.lang.String"  
  @@ -77,50 +77,49 @@
           <arg class="java.lang.String"  value="latin-extended" />
           <arg class="java.lang.Integer" value="0" />
           <arg class="java.lang.Integer" value="15" />
  -        <arg class="java.lang.String"  value="ts.latin-ext.txt" />
       </test>
   
  -    <test id="ts.cyrillic" class="org.apache.batik.gvt.TextSelectionTest">
  +    <test id="text.selection.cyrillic" 
  +    class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the cyrillic entry -->
           <arg class="java.lang.String"  
                value="samples/tests/spec/text/textBiDi.svg" />
           <arg class="java.lang.String"  value="cyrillic" />
           <arg class="java.lang.Integer" value="4" />
           <arg class="java.lang.Integer" value="24" />
  -        <arg class="java.lang.String"  value="ts.cyrillic.txt" />
       </test>
   
  -    <test id="ts.greek" class="org.apache.batik.gvt.TextSelectionTest">
  +    <test id="text.selection.greek" 
  +    class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the greek entry -->
           <arg class="java.lang.String"  
                value="samples/tests/spec/text/textBiDi.svg" />
           <arg class="java.lang.String"  value="greek" />
           <arg class="java.lang.Integer" value="0" />
           <arg class="java.lang.Integer" value="35" />
  -        <arg class="java.lang.String"  value="ts.greek.txt" />
       </test>
   
  -    <test id="ts.hebrew" class="org.apache.batik.gvt.TextSelectionTest">
  +    <test id="text.selection.hebrew" 
  +    class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select just the hebrew part of entry -->
           <arg class="java.lang.String"  
                value="samples/tests/spec/text/textBiDi.svg" />
           <arg class="java.lang.String"  value="hebrew" />
           <arg class="java.lang.Integer" value="10" />
           <arg class="java.lang.Integer" value="20" />
  -        <arg class="java.lang.String"  value="ts.hebrew.txt" />
       </test>
   
  -    <test id="ts.arabic" class="org.apache.batik.gvt.TextSelectionTest">
  +    <test id="text.selection.arabic" 
  +    class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the arabic entry -->
           <arg class="java.lang.String"  
                value="samples/tests/spec/text/textBiDi.svg" />
           <arg class="java.lang.String"  value="arabic" />
           <arg class="java.lang.Integer" value="5" />
           <arg class="java.lang.Integer" value="40" />
  -        <arg class="java.lang.String"  value="ts.arabic.txt" />
       </test>
   
  -    <test id="ts.svgpath.middle50" 
  +    <test id="text.selection.svgpath.middle50" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the arabic entry -->
           <arg class="java.lang.String"  
  @@ -128,10 +127,9 @@
           <arg class="java.lang.String"  value="middle50" />
           <arg class="java.lang.Integer" value="1" />
           <arg class="java.lang.Integer" value="13" />
  -        <arg class="java.lang.String"  value="ts.svgpath.middle50.txt" />
       </test>
   
  -    <test id="ts.svgpath.start35" 
  +    <test id="text.selection.svgpath.start35" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the arabic entry -->
           <arg class="java.lang.String"  
  @@ -139,10 +137,9 @@
           <arg class="java.lang.String"  value="start35" />
           <arg class="java.lang.Integer" value="0" />
           <arg class="java.lang.Integer" value="13" />
  -        <arg class="java.lang.String"  value="ts.svgpath.start35.txt" />
       </test>
   
  -    <test id="ts.vertpath.supersub" 
  +    <test id="text.selection.vertpath.supersub" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the arabic entry -->
           <arg class="java.lang.String"  
  @@ -150,10 +147,9 @@
           <arg class="java.lang.String"  value="supersub" />
           <arg class="java.lang.Integer" value="3" />
           <arg class="java.lang.Integer" value="18" />
  -        <arg class="java.lang.String"  value="ts.vertpath.supersub.txt" />
       </test>
   
  -    <test id="ts.vertpath.beforeafter" 
  +    <test id="text.selection.vertpath.beforeafter" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the arabic entry -->
           <arg class="java.lang.String"  
  @@ -161,10 +157,9 @@
           <arg class="java.lang.String"  value="beforeafter" />
           <arg class="java.lang.Integer" value="0" />
           <arg class="java.lang.Integer" value="28" />
  -        <arg class="java.lang.String"  value="ts.vertpath.beforeafter.txt" />
       </test>
   
  -    <test id="ts.vertpath.negpos" 
  +    <test id="text.selection.vertpath.negpos" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select most of the arabic entry -->
           <arg class="java.lang.String"  
  @@ -172,10 +167,9 @@
           <arg class="java.lang.String"  value="negpos" />
           <arg class="java.lang.Integer" value="3" />
           <arg class="java.lang.Integer" value="17" />
  -        <arg class="java.lang.String"  value="ts.vertpath.negpos.txt" />
       </test>
   
  -    <test id="ts.vert.orient0" 
  +    <test id="text.selection.vert.orient0" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select vertical text with orientation 0 -->
           <arg class="java.lang.String"  
  @@ -183,10 +177,9 @@
           <arg class="java.lang.String"  value="orient0" />
           <arg class="java.lang.Integer" value="3" />
           <arg class="java.lang.Integer" value="18" />
  -        <arg class="java.lang.String"  value="ts.vert.orient0.txt" />
       </test>
   
  -    <test id="ts.vert.orient90" 
  +    <test id="text.selection.vert.orient90" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select vertical text with orientation 90 -->
           <arg class="java.lang.String"  
  @@ -194,10 +187,9 @@
           <arg class="java.lang.String"  value="orient90" />
           <arg class="java.lang.Integer" value="3" />
           <arg class="java.lang.Integer" value="18" />
  -        <arg class="java.lang.String"  value="ts.vert.orient90.txt" />
       </test>
   
  -    <test id="ts.vert.orient180" 
  +    <test id="text.selection.vert.orient180" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select vertical text with orientation 180 -->
           <arg class="java.lang.String"  
  @@ -205,10 +197,9 @@
           <arg class="java.lang.String"  value="orient180" />
           <arg class="java.lang.Integer" value="3" />
           <arg class="java.lang.Integer" value="18" />
  -        <arg class="java.lang.String"  value="ts.vert.orient180.txt" />
       </test>
   
  -    <test id="ts.vert.orient270" 
  +    <test id="text.selection.vert.orient270" 
             class="org.apache.batik.gvt.TextSelectionTest">
           <!-- Select vertical text with orientation 270 -->
           <arg class="java.lang.String"  
  @@ -216,6 +207,5 @@
           <arg class="java.lang.String"  value="orient270" />
           <arg class="java.lang.Integer" value="3" />
           <arg class="java.lang.Integer" value="18" />
  -        <arg class="java.lang.String"  value="ts.vert.orient270.txt" />
       </test>
   </testSuite>
  
  
  
  1.5       +57 -241   xml-batik/test-sources/org/apache/batik/gvt/TextSelectionTest.java
  
  Index: TextSelectionTest.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/test-sources/org/apache/batik/gvt/TextSelectionTest.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TextSelectionTest.java	9 Aug 2003 16:58:44 -0000	1.4
  +++ TextSelectionTest.java	22 Aug 2003 21:22:44 -0000	1.5
  @@ -50,32 +50,17 @@
   
   package org.apache.batik.gvt;
   
  -import java.awt.Shape;
  -import java.awt.geom.PathIterator;
  -import java.io.File;
  -import java.io.FileOutputStream;
  -import java.io.InputStream;
  -import java.io.PipedInputStream;
  -import java.io.PipedOutputStream;
  -import java.io.PrintStream;
   import java.io.PrintWriter;
   import java.io.StringWriter;
  -import java.net.MalformedURLException;
  -import java.net.URL;
   
   import org.w3c.dom.Element;
  -import org.w3c.dom.svg.SVGDocument;
  +import org.w3c.dom.svg.SVGTextContentElement;
   
  -import org.apache.batik.bridge.BridgeContext;
  -import org.apache.batik.bridge.DocumentLoader;
  -import org.apache.batik.bridge.GVTBuilder;
  -import org.apache.batik.bridge.UserAgent;
  -import org.apache.batik.bridge.UserAgentAdapter;
  -import org.apache.batik.gvt.text.Mark;
  -import org.apache.batik.test.AbstractTest;
  +import org.apache.batik.swing.JSVGCanvas;
  +import org.apache.batik.swing.JSVGCanvasHandler;
   import org.apache.batik.test.DefaultTestReport;
   import org.apache.batik.test.TestReport;
  -import org.apache.batik.util.Base64Test;
  +import org.apache.batik.test.svg.JSVGRenderingAccuracyTest;
   
   
   /**
  @@ -84,7 +69,7 @@
    * @author <a href="mailto:deweese@apache.org">Thomas DeWeese</a>
    * @version $Id$
    */
  -public class TextSelectionTest extends AbstractTest {
  +public class TextSelectionTest extends JSVGRenderingAccuracyTest {
   
       /**
        * Directory for reference files
  @@ -158,13 +143,11 @@
       public static final String ENTRY_KEY_ERROR_DESCRIPTION
           = "TextSelectionTest.entry.key.error.description";
   
  -    protected URL    svg   = null;
  -    protected String id    = null;
  +    protected String textID    = null;
       protected int    start;
       protected int    end;
  -    protected URL    ref   = null;
  -    protected URL    var   = null;
  -    protected File   can   = null;
  +
  +    public void setId(String id) { this.id = id; }
   
       /**
        * Constructor. ref is ignored if action == ROUND.
  @@ -174,123 +157,83 @@
        * @param end    The last character to select
        * @param ref    The reference file.
        */
  -    public TextSelectionTest(String svg, String id, 
  -                             Integer start, Integer end, 
  -                             String ref) {
  -        this.svg   = resolveURL(svg);
  -        this.id    = id;
  +    public TextSelectionTest(String file,   String textID, 
  +                             Integer start, Integer end) {
  +        this.textID    = textID;
           this.start = start.intValue();
           this.end   = end.intValue();
  -        this.ref   = resolveURL(REFERENCE_DIR+ref);
  -        this.var   = resolveURL(REFERENCE_DIR+VARIATION_DIR+ref);
  -        this.can   = new File(REFERENCE_DIR+CANDIDATE_DIR+ref);
  +        super.setFile(file);
       }
   
  -    /**
  -     * Resolves the input string as follows.
  -     * + First, the string is interpreted as a file description.
  -     *   If the file exists, then the file name is turned into
  -     *   a URL.
  -     * + Otherwise, the string is supposed to be a URL. If it
  -     *   is an invalid URL, an IllegalArgumentException is thrown.
  -     */
  -    protected URL resolveURL(String url){
  -        // Is url a file?
  -        File f = (new File(url)).getAbsoluteFile();
  -        if(f.getParentFile().exists()){
  -            try{
  -                return f.toURL();
  -            }catch(MalformedURLException e){
  -                throw new IllegalArgumentException();
  -            }
  -        }
  -        
  -        // url is not a file. It must be a regular URL...
  -        try{
  -            return new URL(url);
  -        }catch(MalformedURLException e){
  -            throw new IllegalArgumentException(url);
  -        }
  +    protected String buildRefImgURL(String svgDir, String svgFile){
  +        return getRefImagePrefix() + svgDir + getRefImageSuffix() + 
  +            svgFile + "-" +textID+ "-" + start + "-" + end +PNG_EXTENSION;
       }
   
  +    public String buildVariationURL(String svgDir, String svgFile){
  +        return getVariationPrefix() + svgDir + getVariationSuffix() + 
  +            svgFile + "-" +textID+ "-" + start + "-" + end +PNG_EXTENSION;
  +
  +    }
  +
  +    public String  buildSaveVariationFile(String svgDir, String svgFile){
  +        return getSaveVariationPrefix() + svgDir + getSaveVariationSuffix() + 
  +            svgFile + "-" +textID+ "-" + start + "-" + end +PNG_EXTENSION;
  +    }
  +
  +    public String  buildCandidateReferenceFile(String svgDir, String svgFile){
  +        return getCandidateReferencePrefix() + svgDir + getCandidateReferenceSuffix() + 
  +            svgFile + "-" +textID+ "-" + start + "-" + end +PNG_EXTENSION;
  +    }
       /**
        * Returns this Test's name
        */
       public String getName() {
  -        return svg + "#" + id + "(" + start + "," + end + ")";
  +        return super.getName() + "#" +textID+ "(" + start + "," + end + ")";
  +    }
  +    
  +    public JSVGCanvasHandler createCanvasHandler() {
  +        return new JSVGCanvasHandler(this, this) {
  +                public JSVGCanvas createCanvas() { 
  +                    JSVGCanvas ret = new JSVGCanvas(); 
  +                    ret.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);
  +                    return ret;
  +                }
  +            };
       }
   
  -
  -    /**
  -     * This method will only throw exceptions if some aspect
  -     * of the test's internal operation fails.
  -     */
  -    public TestReport runImpl() throws Exception {
  +    public void canvasRendered(JSVGCanvas canvas) {
           DefaultTestReport report = new DefaultTestReport(this);
  -
  -        SVGDocument  svgDoc;
  -        BridgeContext  ctx;
           try {
  -            UserAgent      userAgent = new UserAgentAdapter();
  -            DocumentLoader loader    = new DocumentLoader(userAgent);
  -            GVTBuilder     builder   = new GVTBuilder();
  -
  -            ctx     = new BridgeContext(userAgent, loader);
  -            ctx.setDynamic(true);
  -            svgDoc  = (SVGDocument)loader.loadDocument(svg.toString());
  -            builder.build(ctx, svgDoc);
  -        } catch(Exception e) {
  -            StringWriter trace = new StringWriter();
  -            e.printStackTrace(new PrintWriter(trace));
  -            report.setErrorCode(ERROR_READING_SVG);
  -            report.setDescription(new TestReport.Entry[] {
  -                new TestReport.Entry
  -                    (Messages.formatMessage(ENTRY_KEY_ERROR_DESCRIPTION, null),
  -                     Messages.formatMessage
  -                     (ERROR_READING_SVG,
  -                      new String[]{svg.toString(), trace.toString()}))
  -                    });
  -            report.setPassed(false);
  -            return report;
  -        }
  -
  -        Shape highlight = null;
  -        try {
  -            Element e = svgDoc.getElementById(id);
  -            /// System.out.println("Element: " + e + " CTX: " + ctx );
  -            GraphicsNode gn = ctx.getGraphicsNode(e);
  -            if (gn == null) {
  +            Element e = canvas.getSVGDocument().getElementById(textID);
  +            if (e == null) {
                   report.setErrorCode(ERROR_BAD_ID);
                   report.setDescription(new TestReport.Entry[] {
                       new TestReport.Entry
                           (Messages.formatMessage
                            (ENTRY_KEY_ERROR_DESCRIPTION, null),
                            Messages.formatMessage
  -                         (ERROR_BAD_ID, new String[]{ id }))
  +                         (ERROR_BAD_ID, new String[]{textID}))
                           });
                   report.setPassed(false);
  -                return report;
  +                failReport = report;
  +                return;
               }
  -
  -            if (!(gn instanceof TextNode)) {
  +            if (!(e instanceof SVGTextContentElement)) {
                   report.setErrorCode(ERROR_ID_NOT_TEXT);
                   report.setDescription(new TestReport.Entry[] {
                       new TestReport.Entry
                           (Messages.formatMessage
                            (ENTRY_KEY_ERROR_DESCRIPTION, null),
                            Messages.formatMessage
  -                         (ERROR_ID_NOT_TEXT, new String[]{id, gn.toString()}))
  +                         (ERROR_ID_NOT_TEXT, new String[]{id, e.toString()}))
                           });
                   report.setPassed(false);
  -                return report;
  +                failReport = report;
  +                return;
               }
  -
  -
  -            TextNode tn = (TextNode)gn;
  -            Mark f = tn.getMarkerForChar(start,true);
  -            Mark l = tn.getMarkerForChar(end,false);
  -            tn.setSelection(f, l);
  -            highlight = tn.getHighlightShape();
  +            SVGTextContentElement tce = (SVGTextContentElement)e;
  +            tce.selectSubString(start, end);
           } catch(Exception e) {
               StringWriter trace = new StringWriter();
               e.printStackTrace(new PrintWriter(trace));
  @@ -303,138 +246,11 @@
                         new String[]{id, ""+start, ""+end, trace.toString()}))
                       });
               report.setPassed(false);
  -            return report;
  -        }
  -
  -        InputStream refIS = null;
  -        try {
  -            refIS = var.openStream();
  -        } catch(Exception e) { try {
  -            refIS = ref.openStream();
  -        } catch(Exception ex) {
  -            StringWriter trace = new StringWriter();
  -            e.printStackTrace(new PrintWriter(trace));
  -            report.setErrorCode(ERROR_CANNOT_READ_REF_URL);
  -            report.setDescription
  -                (new TestReport.Entry[] {
  -                    new TestReport.Entry
  -                        (Messages.formatMessage
  -                         (ENTRY_KEY_ERROR_DESCRIPTION, null),
  -                         Messages.formatMessage
  -                         (ERROR_CANNOT_READ_REF_URL,
  -                          new String[]{ref.toString(), trace.toString()}))
  -                        });
  -            report.setPassed(false);
  +            failReport = report;
           }
  -        }
  -
  -        int mismatch = -2;
  -        if (refIS != null) {
  -            PipedOutputStream pos  = new PipedOutputStream();
  -            InputStream       inIS = new PipedInputStream(pos);
  -            Checker check = new Checker(inIS, refIS);
  -            check.start();
  -            PrintStream pw = new PrintStream(pos);
  -            printShape(highlight, pw);
  -            pw.flush();
  -            pw.close();
  -            pos.close();
  -            mismatch = check.getMismatch();
  -
  -        }
  -
  -        if (mismatch == -1) {
  -          report.setPassed(true);
  -          return report;
  -        }
  -
  -        if (mismatch == -2) {
  -            report.setErrorCode(ERROR_NO_REFERENCE);
  -            report.setDescription(new TestReport.Entry[] {
  -                new TestReport.Entry
  -                    (Messages.formatMessage(ENTRY_KEY_ERROR_DESCRIPTION, null),
  -                     Messages.formatMessage(ERROR_NO_REFERENCE, 
  -                                            new String[]{ref.toString()}))
  -                    });
  -        } else {
  -            report.setErrorCode(ERROR_WRONG_RESULT);
  -            report.setDescription(new TestReport.Entry[] {
  -                new TestReport.Entry
  -                    (Messages.formatMessage(ENTRY_KEY_ERROR_DESCRIPTION, null),
  -                     Messages.formatMessage(ERROR_WRONG_RESULT, 
  -                                            new String[]{""+mismatch}))
  -                    });
  -        }
  -        report.setPassed(false);
  -
  -        // Now write a canidate reference/variation file...
  -        if (can.exists())
  -            can.delete();
  -
  -        printShape(highlight, new PrintStream(new FileOutputStream(can)));
  -
  -        return report;
  -    }
  -
  -    public static class Checker extends Thread {
  -        int mismatch = -2;
  -        InputStream is1, is2;
  -        public Checker(InputStream is1, InputStream is2) {
  -            this.is1 = is1;
  -            this.is2 = is2;
  -        }
  -        public int getMismatch() {
  -            while (true) {
  -                try {
  -                    this.join();
  -                    break;
  -                } catch (InterruptedException ie) { }
  -            }
  -
  -            return mismatch;
  -        }
  -        public void run() {
  -            mismatch = Base64Test.compareStreams (is1, is2, false);
  +        finally {
  +            scriptDone();
           }
       }
  -
  -    public static void printShape(Shape s, PrintStream ps) {
  -        PathIterator pi = s.getPathIterator(null);
  -        float pts [] = new float[6];
  -        int type;
  -        while (!pi.isDone()) {
  -            type = pi.currentSegment(pts);
  -            switch (type) {
  -            case PathIterator.SEG_MOVETO:
  -                ps.println(" MoveTo: [" + 
  -                                   pts[0] + ", " + pts[1] + "]");
  -                break;
  -            case PathIterator.SEG_LINETO:
  -                ps.println(" LineTo: [" + 
  -                                   pts[0] + ", " + pts[1] + "]");
  -                break;
  -
  -            case PathIterator.SEG_QUADTO:
  -                ps.println(" QuadTo: [" + 
  -                                   pts[0] + ", " + pts[1] + "] [" +
  -                                   pts[2] + ", " + pts[3] + "]");
  -                break;
  -
  -            case PathIterator.SEG_CUBICTO:
  -                ps.println("CurveTo: [" + 
  -                                   pts[0] + ", " + pts[1] + "] [" +
  -                                   pts[2] + ", " + pts[3] + "] [" +
  -                                   pts[4] + ", " + pts[5] + "]");
  -                break;
  -
  -            case PathIterator.SEG_CLOSE:
  -                ps.println("Close");
  -                break;
  -            }
  -            pi.next();
  -        }
  -    }
  -
  -
   }
   
  
  
  
  1.7       +11 -7     xml-batik/test-sources/org/apache/batik/test/svg/JSVGRenderingAccuracyTest.java
  
  Index: JSVGRenderingAccuracyTest.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/test-sources/org/apache/batik/test/svg/JSVGRenderingAccuracyTest.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JSVGRenderingAccuracyTest.java	9 Aug 2003 16:58:43 -0000	1.6
  +++ JSVGRenderingAccuracyTest.java	22 Aug 2003 21:22:45 -0000	1.7
  @@ -99,17 +99,21 @@
       public JSVGRenderingAccuracyTest(){
       }
   
  -    URL srcURL;
  -    FileOutputStream fos;
  -    TestReport failReport = null;
  -    boolean done;
  -    JSVGCanvasHandler handler = null;
  +    protected URL srcURL;
  +    protected FileOutputStream fos;
  +    protected TestReport failReport = null;
  +    protected boolean done;
  +    protected JSVGCanvasHandler handler = null;
  +
  +    public JSVGCanvasHandler createCanvasHandler() {
  +        return new JSVGCanvasHandler(this, this);
  +    }
   
       public TestReport encode(URL srcURL, FileOutputStream fos) {
           this.srcURL = srcURL;
           this.fos    = fos;
   
  -        handler = new JSVGCanvasHandler(this, this);
  +        handler = createCanvasHandler();
           done = false;
           handler.runCanvas(srcURL.toString());
   
  
  
  
  1.6       +4 -1      xml-batik/test-sources/org/apache/batik/test/svg/PreconfiguredRenderingTest.java
  
  Index: PreconfiguredRenderingTest.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/test-sources/org/apache/batik/test/svg/PreconfiguredRenderingTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PreconfiguredRenderingTest.java	8 Aug 2003 11:39:40 -0000	1.5
  +++ PreconfiguredRenderingTest.java	22 Aug 2003 21:22:45 -0000	1.6
  @@ -77,7 +77,10 @@
        */
       public void setId(String id){
           super.setId(id);
  +        setFile(id);
  +    }
   
  +    public void setFile(String id) {
           String svgFile = id;
   
           String[] dirNfile = breakSVGFile(svgFile);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org