vhardy      01/10/12 00:59:05

  Modified:    .        build.xml
               sources/org/apache/batik/ext/awt/g2d
                        TransformStackElement.java
               test-resources/org/apache/batik/svggen/resources
                        Messages.properties
               test-sources/org/apache/batik/svggen SVGAccuracyTest.java
  Log:
  + Fixed bug 3456.
  + Improved error reporting for SVGAccuracyTest
  
  Revision  Changes    Path
  1.85      +4 -1      xml-batik/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-batik/build.xml,v
  retrieving revision 1.84
  retrieving revision 1.85
  diff -u -r1.84 -r1.85
  --- build.xml 2001/10/04 08:25:36     1.84
  +++ build.xml 2001/10/12 07:59:05     1.85
  @@ -44,7 +44,7 @@
     [win32] .\build.bat help
   
    
  - $Id: build.xml,v 1.84 2001/10/04 08:25:36 vhardy Exp $
  + $Id: build.xml,v 1.85 2001/10/12 07:59:05 vhardy Exp $
   
   -->
   
  @@ -702,6 +702,9 @@
       <mkdir dir="${test-references}/svgbe/accepted-variation"/>
       <mkdir dir="${test-references}/svgbe/candidate-variation"/>
       <mkdir dir="${test-references}/org/apache/batik/svggen/candidate-ref" />
  +    <mkdir dir="${test-references}/org/apache/batik/svggen/candidate-ref" />
  +    <mkdir dir="${test-references}/org/apache/batik/svggen/rendering/candidate-ref" 
/>
  +    <mkdir 
dir="${test-references}/org/apache/batik/svggen/rendering/accepted-variation" />
     </target>
   
     <target name="ttf2svg"
  
  
  
  1.3       +18 -1     
xml-batik/sources/org/apache/batik/ext/awt/g2d/TransformStackElement.java
  
  Index: TransformStackElement.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/ext/awt/g2d/TransformStackElement.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TransformStackElement.java        2001/10/01 12:37:10     1.2
  +++ TransformStackElement.java        2001/10/12 07:59:05     1.3
  @@ -17,7 +17,7 @@
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Hardy</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Paul Evenblij</a>
  - * @version $Id: TransformStackElement.java,v 1.2 2001/10/01 12:37:10 vhardy Exp $
  + * @version $Id: TransformStackElement.java,v 1.3 2001/10/12 07:59:05 vhardy Exp $
    */
   abstract public class TransformStackElement implements Cloneable{
       /**
  @@ -168,6 +168,11 @@
                   transformParameters[0] *= stackElement.transformParameters[0];
                   transformParameters[1] *= stackElement.transformParameters[1];
                   break;
  +            case TransformType.TRANSFORM_GENERAL:
  +                transformParameters 
  +                    = matrixMultiply(transformParameters, 
  +                                     stackElement.transformParameters);
  +                break;
               default:
                   canConcatenate = false;
               }
  @@ -175,4 +180,16 @@
   
           return canConcatenate;
       }
  +
  +    /**
  +     *  Multiplies two 2x3 matrices of double precision values
  +     */
  +    private double[] matrixMultiply(double[] matrix1, double[] matrix2) {
  +        double[] product = new double[6];
  +        AffineTransform transform1 = new AffineTransform(matrix1);
  +        transform1.concatenate(new AffineTransform(matrix2));
  +        transform1.getMatrix(product);
  +        return product;
  +    }
  +
   }
  
  
  
  1.4       +9 -0      
xml-batik/test-resources/org/apache/batik/svggen/resources/Messages.properties
  
  Index: Messages.properties
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/test-resources/org/apache/batik/svggen/resources/Messages.properties,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Messages.properties       2001/10/10 11:01:28     1.3
  +++ Messages.properties       2001/10/12 07:59:05     1.4
  @@ -77,6 +77,15 @@
   SVGAccuracyTest.entry.key.line.number = \
   Line number
   
  +SVGAccuracyTest.entry.key.column.number = \
  +Column number
  +
  +SVGAccuracyTest.entry.key.column.expected.value = \
  +Expected column value
  +
  +SVGAccuracyTest.entry.key.column.found.value = \
  +Found column value
  +
   SVGAccuracyTest.entry.key.reference.line = \
   Reference line
   
  
  
  
  1.8       +53 -1     
xml-batik/test-sources/org/apache/batik/svggen/SVGAccuracyTest.java
  
  Index: SVGAccuracyTest.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/test-sources/org/apache/batik/svggen/SVGAccuracyTest.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SVGAccuracyTest.java      2001/10/11 09:42:42     1.7
  +++ SVGAccuracyTest.java      2001/10/12 07:59:05     1.8
  @@ -45,7 +45,7 @@
    * SVG reference.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Vincent Hardy</a>
  - * @version $Id: SVGAccuracyTest.java,v 1.7 2001/10/11 09:42:42 vhardy Exp $
  + * @version $Id: SVGAccuracyTest.java,v 1.8 2001/10/12 07:59:05 vhardy Exp $
    */
   public class SVGAccuracyTest extends AbstractTest
       implements SVGConstants{
  @@ -89,6 +89,15 @@
       public static final String ENTRY_KEY_LINE_NUMBER
           = "SVGAccuracyTest.entry.key.line.number";
   
  +    public static final String ENTRY_KEY_COLUMN_NUMBER
  +        = "SVGAccuracyTest.entry.key.column.number";
  +
  +    public static final String ENTRY_KEY_COLUMN_EXPECTED_VALUE
  +        = "SVGAccuracyTest.entry.key.column.expected.value";
  +
  +    public static final String ENTRY_KEY_COLUMN_FOUND_VALUE
  +        = "SVGAccuracyTest.entry.key.column.found.value";
  +
       public static final String ENTRY_KEY_REFERENCE_LINE
           = "SVGAccuracyTest.entry.key.reference.line";
   
  @@ -237,8 +246,28 @@
   
           if(!accurate){
               save(bos.toByteArray());
  +            int cn = computeColumnNumber(refLine, newLine);
  +            String expectedChar = "eol";
  +            if(refLine.length() > cn){
  +                expectedChar = (new Character(refLine.charAt(cn))).toString();
  +            }
  +            String foundChar = "null";
  +            if(newLine != null && newLine.length() > cn){
  +                foundChar = (new Character(newLine.charAt(cn))).toString();
  +            }
  +
  +            if(expectedChar.equals(" ")){
  +                expectedChar = "' '";
  +            }
  +            if(foundChar.equals(" ")){
  +                foundChar = "' '";
  +            }
  +
               report.setErrorCode(ERROR_GENERATED_SVG_INACCURATE);
               
report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_LINE_NUMBER,null), new 
Integer(ln));
  +            
report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_COLUMN_NUMBER,null), new 
Integer(cn));
  +            
report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_COLUMN_EXPECTED_VALUE,null),
 expectedChar);
  +            
report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_COLUMN_FOUND_VALUE,null), 
foundChar);
               
report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_REFERENCE_LINE,null), 
refLine);
               
report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_NEW_LINE,null), newLine);
               report.setPassed(false);
  @@ -248,6 +277,29 @@
           }
   
           return report;
  +    }
  +    
  +    public int computeColumnNumber(String aStr, String bStr){
  +        if(aStr == null || bStr == null){
  +            return -1;
  +        }
  +
  +        int n = aStr.length();
  +        int i = -1;
  +        for(i=0; i<n; i++){
  +            char a = aStr.charAt(i);
  +            if(i < bStr.length()){
  +                char b = bStr.charAt(i);
  +                if(a != b){
  +                    break;
  +                }
  +            }
  +            else {
  +                break;
  +            }
  +        }
  +
  +        return i;
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to