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 tk...@apache.org on 2001/10/30 15:19:07 UTC

cvs commit: xml-batik/test-sources/org/apache/batik/transcoder/image AOITest.java AbstractImageTranscoderTest.java AlternateStylesheetTest.java BackgroundColorTest.java DOMTest.java DimensionTest.java InputStreamTest.java LanguageTest.java MediaTest.java Messages.java ParametrizedDOMTest.java PixelToMMTest.java ReaderTest.java URITest.java

tkormann    01/10/30 06:19:07

  Added:       test-sources/org/apache/batik/transcoder/image AOITest.java
                        AbstractImageTranscoderTest.java
                        AlternateStylesheetTest.java
                        BackgroundColorTest.java DOMTest.java
                        DimensionTest.java InputStreamTest.java
                        LanguageTest.java MediaTest.java Messages.java
                        ParametrizedDOMTest.java PixelToMMTest.java
                        ReaderTest.java URITest.java
  Log:
  new tests for ImageTranscoder
  
  Revision  Changes    Path
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/AOITest.java
  
  Index: AOITest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  import java.awt.geom.Rectangle2D;
  
  import java.util.Map;
  import java.util.HashMap;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder with the KEY_AOI transcoding hint.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: AOITest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $ 
   */
  public class AOITest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /** The area of interest. */
      protected Rectangle2D aoi;
  
      /** The width of the image. */
      protected Float imgWidth;
  
      /** The height of the image. */
      protected Float imgHeight;
  
      /**
       * Constructs a new <tt>AOITest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       * @param x the x coordinate of the area of interest
       * @param y the y coordinate of the area of interest
       * @param width the width of the area of interest
       * @param height the height of the area of interest
       */
      public AOITest(String inputURI, 
  		   String refImageURI, 
  		   Float x,
  		   Float y,
  		   Float width,
  		   Float height) {
  	this(inputURI, 
  	     refImageURI, 
  	     x, 
  	     y, 
  	     width, 
  	     height, 
  	     new Float(-1), 
  	     new Float(-1));
      }
  
      /**
       * Constructs a new <tt>AOITest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       * @param x the x coordinate of the area of interest
       * @param y the y coordinate of the area of interest
       * @param width the width of the area of interest
       * @param height the height of the area of interest
       * @param imgWidth the width of the image to generate
       * @param imgHeight the height of the image to generate
       */
      public AOITest(String inputURI, 
  		   String refImageURI, 
  		   Float x,
  		   Float y,
  		   Float width,
  		   Float height,
  		   Float imgWidth,
  		   Float imgHeight) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
  	this.aoi = new Rectangle2D.Float(x.floatValue(),
  					 y.floatValue(),
  					 width.floatValue(),
  					 height.floatValue());
  	this.imgWidth = imgWidth;
  	this.imgHeight = imgHeight;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	return new TranscoderInput(resolveURL(inputURI).toString());
      }
      
      /**
       * Creates a Map that contains additional transcoding hints.
       */
      protected Map createTranscodingHints() {
  	Map hints = new HashMap(11);
  	hints.put(ImageTranscoder.KEY_AOI, aoi);
  	if (imgWidth.floatValue() > 0) {
  	    hints.put(ImageTranscoder.KEY_WIDTH, imgWidth);
  	}
  	if (imgHeight.floatValue() > 0) {
  	    hints.put(ImageTranscoder.KEY_HEIGHT, imgHeight);
  	}
  	return hints;
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/AbstractImageTranscoderTest.java
  
  Index: AbstractImageTranscoderTest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  import java.awt.image.RenderedImage;
  
  import java.io.File;
  import java.io.PrintWriter;
  import java.io.StringWriter;
  
  import java.net.MalformedURLException;
  import java.net.URL;
  
  import java.util.Map;
  
  import org.apache.batik.ext.awt.image.spi.ImageTagRegistry;
  import org.apache.batik.ext.awt.image.renderable.Filter;
  
  import org.apache.batik.util.ParsedURL;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  import org.apache.batik.test.AbstractTest;
  import org.apache.batik.test.DefaultTestReport;
  import org.apache.batik.test.TestReport;
  
  /**
   * The base class for the ImageTranscoder tests.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: AbstractImageTranscoderTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $
   */
  public abstract class AbstractImageTranscoderTest extends AbstractTest {
  
      /**
       * Error when the reference image and the generated image is different.
       */
      public static final String ERROR_IMAGE_DIFFER =
  	"AbstractImageTranscoderTest.error.image.differ";
  
      /**
       * Error when an exception occured while transcoding.
       */
      public static final String ERROR_TRANSCODING =
  	"AbstractImageTranscoderTest.error.transcoder.exception";
  
      /**
       * Constructs a new <tt>AbstractImageTranscoderTest</tt>.
       */
      public AbstractImageTranscoderTest() {
      }
  
      /**
       * Runs this test. This method will only throw exceptions if some aspect of
       * the test's internal operation fails.
       */
      public TestReport runImpl() throws Exception {
  	DefaultTestReport report = new DefaultTestReport(this);
  
  	try {
  	    DiffImageTranscoder transcoder = 
  		new DiffImageTranscoder(getReferenceImage());
  
  	    Map hints = createTranscodingHints();
  	    if (hints != null) {
  		transcoder.setTranscodingHints(hints);
  	    }
  
  	    TranscoderInput input = createTranscoderInput();
  	    transcoder.transcode(input, null);
  	    
  	    if (!transcoder.isIdentical()) {
  		report.setErrorCode(ERROR_IMAGE_DIFFER);
  		report.addDescriptionEntry(ERROR_IMAGE_DIFFER, "");
  		report.setPassed(false);
  	    }
  	} catch (TranscoderException ex) {
  	    report.setErrorCode(ERROR_TRANSCODING);
  	    report.addDescriptionEntry(ERROR_TRANSCODING, toString(ex));
              ex.printStackTrace();
  	    report.setPassed(false);
  	}
  	
  	return report;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected abstract TranscoderInput createTranscoderInput();
  
      /**
       * Creates a Map that contains additional transcoding hints.
       */
      protected Map createTranscodingHints() {
  	return null;
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected abstract BufferedImage getReferenceImage();
  
      //////////////////////////////////////////////////////////////////////////
      // Convenient methods
      //////////////////////////////////////////////////////////////////////////
  
      /**
       * Gives the specified exception as a string.
       */
      public static String toString(Exception ex) {
  	StringWriter trace = new StringWriter();
  	ex.printStackTrace(new PrintWriter(trace));
  	return trace.toString();
      }
  
      /**
       * 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.
       */
      public static URL resolveURL(String url){
          // Is url a file?
          File f = (new File(url)).getAbsoluteFile();
          if (f.exists()) {
              try {
                  return f.toURL();
              } catch (MalformedURLException e) {
                  throw new IllegalArgumentException(url);
              }
          }
          // url is not a file. It must be a regular URL...
          try {
              return new URL(url);
          } catch(MalformedURLException e) {
              throw new IllegalArgumentException(url);
          }
      }
  
      /**
       * Loads an image from a URL
       */
      public static BufferedImage createBufferedImage(URL url) {
          ImageTagRegistry reg = ImageTagRegistry.getRegistry();
          Filter filt = reg.readURL(new ParsedURL(url));
          if (filt == null) {
              return null;
          }
  	
          RenderedImage red = filt.createDefaultRendering();
          if (red == null) {
              return null;
          }
          
          BufferedImage img = new BufferedImage(red.getWidth(),
                                                red.getHeight(),
                                                BufferedImage.TYPE_INT_ARGB);
          red.copyData(img.getRaster());
          return img;
      }
  
      /**
       * A custom ImageTranscoder for testing.
       */
      protected static class DiffImageTranscoder extends ImageTranscoder {
  
  	/** The result of the image comparaison. */
  	protected boolean state;
  
  	/** The reference image. */
  	protected BufferedImage refImg;
  
  	/**
  	 * Constructs a new <tt>DiffImageTranscoder</tt>.
  	 *
  	 * @param refImg the reference image
  	 * @param report the test report into which errors have been sent
  	 */
  	public DiffImageTranscoder(BufferedImage refImg) {
  	    this.refImg = refImg;
  	}
  
  	/**
  	 * Creates a new image with the specified dimension.
  	 * @param w the image width in pixels
  	 * @param h the image height in pixels
  	 */
  	public BufferedImage createImage(int w, int h) {
  	    return new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
  	}
  
  	/**
  	 * Compares the specified image with the reference image and set the
  	 * state flag.
  	 *
  	 * @param img the image to write
  	 * @param output the output (ignored)
  	 * @param TranscoderException if an error occured while storing the
  	 * image 
  	 */
  	public void writeImage(BufferedImage img, TranscoderOutput output)
  	    throws TranscoderException {
  
  	    compareImage(img);
  	}
  
  	/**
  	 * Compares both source and result images and set the state flag.
  	 */
  	protected void compareImage(BufferedImage img) {
  	    // compare the resulting image with the reference image
  	    // state = true if refImg is the same than img
  
  	    if ((img.getType() != BufferedImage.TYPE_INT_ARGB) ||
  		(refImg.getType() != BufferedImage.TYPE_INT_ARGB)) {
  		throw new IllegalArgumentException("Different Image type");
  	    }
  	    int minX = refImg.getMinX();
  	    int minY = refImg.getMinY();
  	    int w = refImg.getWidth();
  	    int h = refImg.getHeight();
  	    if ((img.getMinX() != minX) ||
  		(img.getMinY() != minY) ||
  		(img.getWidth() != w) ||
  		(img.getHeight() != h)) {
  		showDiff(img);
  		state = false;
  		return;
  	    }
  
  	    for (int y = minY; y < minY+h; ++y) {
  		for (int x = minX; x < minX+w; ++x) {
  		    if (img.getRGB(x, y) != refImg.getRGB(x, y)) {
  
  			showDiff(img);
  
  			state = false;
  			return;
  		    }
  		}
  	    }
  	    state = true;
  	}
  
  	private void showDiff(BufferedImage img) {
  	    javax.swing.JFrame frame = new javax.swing.JFrame();
  
  	    frame.getContentPane().add
  		(new javax.swing.JLabel(new javax.swing.ImageIcon(img)),
  		 java.awt.BorderLayout.EAST);
  	    frame.getContentPane().add
  		(new javax.swing.JLabel(new javax.swing.ImageIcon(refImg)),
  		 java.awt.BorderLayout.WEST);
  	    
  	    frame.pack();
  	    frame.show();
  	}
  
  	/**
  	 * Returns true if the reference image is the same than the generated
  	 * image, false otherwise.  
  	 */
  	public boolean isIdentical() {
  	    return state;
  	}
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/AlternateStylesheetTest.java
  
  Index: AlternateStylesheetTest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  import java.awt.geom.Rectangle2D;
  
  import java.util.Map;
  import java.util.HashMap;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder with the KEY_ALTERNATE_STYLESHEET transcoding hint.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: AlternateStylesheetTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $ 
   */
  public class AlternateStylesheetTest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /** The alternate stylesheet to use. */
      protected String alternateStylesheet;
  
      /**
       * Constructs a new <tt>AlternateStylesheetTest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       * @param alternateStylesheet the alternate stylesheet CSS media
       */
      public AlternateStylesheetTest(String inputURI, 
  				   String refImageURI, 
  				   String alternateStylesheet) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
  	this.alternateStylesheet = alternateStylesheet;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	return new TranscoderInput(resolveURL(inputURI).toString());
      }
      
      /**
       * Creates a Map that contains additional transcoding hints.
       */
      protected Map createTranscodingHints() {
  	Map hints = new HashMap(3);
  	hints.put(ImageTranscoder.KEY_ALTERNATE_STYLESHEET, 
  		  alternateStylesheet);
  	return hints;
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/BackgroundColorTest.java
  
  Index: BackgroundColorTest.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.transcoder.image;
  
  import java.awt.Color;
  import java.awt.Graphics2D;
  import java.awt.image.BufferedImage;
  
  import java.util.Map;
  import java.util.HashMap;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  import org.apache.batik.dom.svg.SVGDOMImplementation;
  
  import org.w3c.dom.Document;
  import org.w3c.dom.Element;
  import org.w3c.dom.DOMImplementation;
  
  /**
   * Test the ImageTranscoder with the KEY_BACKGROUND_COLOR transcoding hint.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: BackgroundColorTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $ 
   */
  public class BackgroundColorTest extends AbstractImageTranscoderTest {
  
      /**
       * Constructs a new <tt>BackgroundColorTest</tt>.
       */
      public BackgroundColorTest() {
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
  	String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
  	Document doc = impl.createDocument(svgNS, "svg", null);
  
  	Element root = doc.getDocumentElement();
  
  	root.setAttributeNS(null, "width", "400");
  	root.setAttributeNS(null, "height", "400");
  
  	Element r = doc.createElementNS(svgNS, "rect");
  	r.setAttributeNS(null, "x", "100");
  	r.setAttributeNS(null, "y", "50");
  	r.setAttributeNS(null, "width", "100");
  	r.setAttributeNS(null, "height", "50");
  	r.setAttributeNS(null, "style", "fill:red");
  	root.appendChild(r);
  
  	return new TranscoderInput(doc);
      }
      
      /**
       * Creates a Map that contains additional transcoding hints.
       */
      protected Map createTranscodingHints() {
  	Map hints = new HashMap(7);
  	hints.put(ImageTranscoder.KEY_BACKGROUND_COLOR, Color.blue);
  	return hints;
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	BufferedImage img = new BufferedImage
  	    (400, 400, BufferedImage.TYPE_INT_ARGB);
  	Graphics2D g2d = img.createGraphics();
  	g2d.setColor(Color.blue);
  	g2d.fillRect(0, 0, 400, 400);
  	g2d.setColor(Color.red);
  	g2d.fillRect(100, 50, 100, 50);
  	return img;
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/DOMTest.java
  
  Index: DOMTest.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.transcoder.image;
  
  import java.awt.Color;
  import java.awt.Graphics2D;
  import java.awt.image.BufferedImage; 
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  import org.apache.batik.transcoder.TranscodingHints;
  
  import org.apache.batik.dom.svg.SVGDOMImplementation;
  
  import org.w3c.dom.Document;
  import org.w3c.dom.Element;
  import org.w3c.dom.DOMImplementation;
  
  /**
   * Test the ImageTranscoder input with a DOM tree.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: DOMTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $
   */
  public class DOMTest extends AbstractImageTranscoderTest {
  
      /**
       * Constructs a new <tt>DOMTest</tt>.
       */
      public DOMTest() {
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();
  	String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
  	Document doc = impl.createDocument(svgNS, "svg", null);
  
  	Element root = doc.getDocumentElement();
  
  	root.setAttributeNS(null, "width", "400");
  	root.setAttributeNS(null, "height", "400");
  
  	Element r = doc.createElementNS(svgNS, "rect");
  	r.setAttributeNS(null, "x", "0");
  	r.setAttributeNS(null, "y", "0");
  	r.setAttributeNS(null, "width", "400");
  	r.setAttributeNS(null, "height", "400");
  	r.setAttributeNS(null, "style", "fill:black");
  	root.appendChild(r);
  
  	r = doc.createElementNS(svgNS, "rect");
  	r.setAttributeNS(null, "x", "100");
  	r.setAttributeNS(null, "y", "50");
  	r.setAttributeNS(null, "width", "100");
  	r.setAttributeNS(null, "height", "50");
  	r.setAttributeNS(null, "style", "stroke:red; fill:none");
  	root.appendChild(r);
  
  	return new TranscoderInput(doc);
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	BufferedImage img = new BufferedImage
  	    (400, 400, BufferedImage.TYPE_INT_ARGB);
  	Graphics2D g2d = img.createGraphics();
  	g2d.setColor(Color.black);
  	g2d.fillRect(0, 0, 400, 400);
  	g2d.setColor(Color.red);
  	g2d.drawRect(100, 50, 100, 50);
  	return img;
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/DimensionTest.java
  
  Index: DimensionTest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  
  import java.util.Map;
  import java.util.HashMap
  ;
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder with the KEY_WIDTH and/or the KEY_HEIGHT transcoding
   * hint.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: DimensionTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $ 
   */
  public class DimensionTest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /** The width of the image. */
      protected Float width;
  
      /** The height of the image. */
      protected Float height;
  
      /**
       * Constructs a new <tt>DimensionTest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       * @param width the image width
       * @param height the image height
       */
      public DimensionTest(String inputURI, 
  			 String refImageURI, 
  			 Float width,
  			 Float height) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
  	this.width = width;
  	this.height = height;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	return new TranscoderInput(resolveURL(inputURI).toString());
      }
      
      /**
       * Creates a Map that contains additional transcoding hints.
       */
      protected Map createTranscodingHints() {
  	Map hints = new HashMap(7);
  	if (width.floatValue() > 0) {
  	    hints.put(ImageTranscoder.KEY_WIDTH, width);
  	}
  	if (height.floatValue() > 0) {
  	    hints.put(ImageTranscoder.KEY_HEIGHT, height);
  	}
  	return hints;
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/InputStreamTest.java
  
  Index: InputStreamTest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  
  import java.io.InputStream;
  import java.io.IOException;
  
  import java.net.URL;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder input with a InputStream.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: InputStreamTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $
   */
  public class InputStreamTest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /**
       * Constructs a new <tt>InputStreamTest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       */
      public InputStreamTest(String inputURI, String refImageURI) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	try {
  	    URL url = resolveURL(inputURI);
  	    InputStream istream = url.openStream();
  	    TranscoderInput input = new TranscoderInput(istream);
  	    input.setURI(url.toString()); // Needed for external resources
  	    return input;
  	} catch (IOException ex) {
              throw new IllegalArgumentException(inputURI);
  	}
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/LanguageTest.java
  
  Index: LanguageTest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  
  import java.util.Map;
  import java.util.HashMap;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder with the KEY_LANGUAGE transcoding hint.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: LanguageTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $ 
   */
  public class LanguageTest extends AbstractImageTranscoderTest {
  
      /**
       * Constructs a new <tt>LanguageTest</tt>.
       */
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /** The preferred language. */
      protected String language;
  
      /**
       * Constructs a new <tt>LanguageTest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       * @param language the preferred language
       */
      public LanguageTest(String inputURI, 
  			String refImageURI, 
  			String language) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
  	this.language = language;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	return new TranscoderInput(resolveURL(inputURI).toString());
      }
      
      /**
       * Creates a Map that contains additional transcoding hints.
       */
      protected Map createTranscodingHints() {
  	Map hints = new HashMap(7);
  	hints.put(ImageTranscoder.KEY_LANGUAGE, language);
  	return hints;
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/MediaTest.java
  
  Index: MediaTest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  import java.awt.geom.Rectangle2D;
  
  import java.util.Map;
  import java.util.HashMap;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder with the KEY_MEDIA transcoding hint.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: MediaTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $ 
   */
  public class MediaTest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /** The CSS media to use. */
      protected String media;
  
      /**
       * Constructs a new <tt>MediaTest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       * @param media the CSS media
       */
      public MediaTest(String inputURI, String refImageURI, String media) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
  	this.media = media;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	return new TranscoderInput(resolveURL(inputURI).toString());
      }
      
      /**
       * Creates a Map that contains additional transcoding hints.
       */
      protected Map createTranscodingHints() {
  	Map hints = new HashMap(3);
  	hints.put(ImageTranscoder.KEY_MEDIA, media);
  	return hints;
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/Messages.java
  
  Index: Messages.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.transcoder.image;
  
  import java.util.Locale;
  import java.util.MissingResourceException;
  import org.apache.batik.i18n.Localizable;
  import org.apache.batik.i18n.LocalizableSupport;
  
  /**
   * This class manages the message for the test.svg module.
   *
   * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
   * @version $Id: Messages.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $
   */
  public class Messages {
  
      /**
       * This class does not need to be instantiated.
       */
      protected Messages() { }
  
      /**
       * The error messages bundle class name.
       */
      protected final static String RESOURCES =
          "org.apache.batik.transcoder.image.resources.TestMessages";
  
      /**
       * The localizable support for the error messages.
       */
      protected static LocalizableSupport localizableSupport =
          new LocalizableSupport(RESOURCES);
  
      /**
       * Implements {@link org.apache.batik.i18n.Localizable#setLocale(Locale)}.
       */
      public static void setLocale(Locale l) {
          localizableSupport.setLocale(l);
      }
  
      /**
       * Implements {@link org.apache.batik.i18n.Localizable#getLocale()}.
       */
      public static Locale getLocale() {
          return localizableSupport.getLocale();
      }
  
      /**
       * Implements {@link
       * org.apache.batik.i18n.Localizable#formatMessage(String,Object[])}.
       */
      public static String formatMessage(String key, Object[] args)
          throws MissingResourceException {
          return localizableSupport.formatMessage(key, args);
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/ParametrizedDOMTest.java
  
  Index: ParametrizedDOMTest.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.transcoder.image;
  
  import java.awt.Color;
  import java.awt.Graphics2D;
  import java.awt.image.BufferedImage; 
  
  import java.io.IOException;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
  
  import org.apache.batik.util.XMLResourceDescriptor;
  
  import org.w3c.dom.Document;
  
  /**
   * Test the ImageTranscoder input with a DOM tree.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: ParametrizedDOMTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $
   */
  public class ParametrizedDOMTest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /**
       * Constructs a new <tt>ParametrizedDOMTest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       */
      public ParametrizedDOMTest(String inputURI, String refImageURI) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	try {
  	    String parser = XMLResourceDescriptor.getXMLParserClassName();
  	    SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
  	    Document doc = f.createDocument(resolveURL(inputURI).toString());
  	    return new TranscoderInput(doc);
  	} catch (IOException ex) {
              throw new IllegalArgumentException(inputURI);
  	}
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/PixelToMMTest.java
  
  Index: PixelToMMTest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  import java.awt.geom.Rectangle2D;
  
  import java.util.Map;
  import java.util.HashMap;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder with the KEY_PIXEL_TO_MM transcoding hint.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: PixelToMMTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $ 
   */
  public class PixelToMMTest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /** The pixel to mm factor. */
      protected Float px2mm;
  
      /**
       * Constructs a new <tt>PixelToMMTest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       * @param px2mm the pixel to mm conversion factor
       */
      public PixelToMMTest(String inputURI, 
  			 String refImageURI, 
  			 Float px2mm) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
  	this.px2mm = px2mm;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	return new TranscoderInput(resolveURL(inputURI).toString());
      }
      
      /**
       * Creates a Map that contains additional transcoding hints.
       */
      protected Map createTranscodingHints() {
  	Map hints = new HashMap(3);
  	hints.put(ImageTranscoder.KEY_PIXEL_TO_MM, px2mm);
  	return hints;
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/ReaderTest.java
  
  Index: ReaderTest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.io.Reader;
  
  import java.net.URL;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder input with a Reader.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: ReaderTest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $
   */
  public class ReaderTest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /**
       * Constructs a new <tt>ReaderTest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       */
      public ReaderTest(String inputURI, String refImageURI) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	try {
  	    URL url = resolveURL(inputURI);
  	    Reader reader = new InputStreamReader(url.openStream());
  	    TranscoderInput input = new TranscoderInput(reader);
  	    input.setURI(url.toString()); // Needed for external resources
  	    return input;
  	} catch (IOException ex) {
              throw new IllegalArgumentException(inputURI);
  	}
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  
  1.1                  xml-batik/test-sources/org/apache/batik/transcoder/image/URITest.java
  
  Index: URITest.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.transcoder.image;
  
  import java.awt.image.BufferedImage;
  
  import org.apache.batik.transcoder.TranscoderException;
  import org.apache.batik.transcoder.TranscoderInput;
  import org.apache.batik.transcoder.TranscoderOutput;
  
  /**
   * Test the ImageTranscoder input with a URI.
   *
   * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
   * @version $Id: URITest.java,v 1.1 2001/10/30 14:19:07 tkormann Exp $
   */
  public class URITest extends AbstractImageTranscoderTest {
  
      /** The URI of the input image. */
      protected String inputURI;
  
      /** The URI of the reference image. */
      protected String refImageURI;
  
      /**
       * Constructs a new <tt>URITest</tt>.
       *
       * @param inputURI the URI of the input image
       * @param the URI of the reference image
       */
      public URITest(String inputURI, String refImageURI) {
  	this.inputURI = inputURI;
  	this.refImageURI = refImageURI;
      }
  
      /**
       * Creates the <tt>TranscoderInput</tt>.
       */
      protected TranscoderInput createTranscoderInput() {
  	return new TranscoderInput(resolveURL(inputURI).toString());
      }
  
      /**
       * Returns the reference image for this test.
       */
      protected BufferedImage getReferenceImage() {
  	return createBufferedImage(resolveURL(refImageURI));
      }
  }
  
  
  

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