KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > fop > AbstractBasicTranscoderTestCase


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 /* $Id: AbstractBasicTranscoderTestCase.java 426576 2006-07-28 15:44:37Z jeremias $ */
19  
20 package org.apache.fop;
21
22 import java.io.File JavaDoc;
23 import java.io.InputStream JavaDoc;
24
25 import org.apache.batik.transcoder.Transcoder;
26 import org.apache.batik.transcoder.TranscoderInput;
27 import org.apache.batik.transcoder.TranscoderOutput;
28 import org.apache.commons.io.output.ByteArrayOutputStream;
29
30 /**
31  * Basic runtime test for FOP's transcoders. It is used to verify that
32  * nothing obvious is broken after compiling.
33  */

34 public abstract class AbstractBasicTranscoderTestCase extends AbstractFOPTestCase {
35
36     /**
37      * @see junit.framework.TestCase#TestCase(String)
38      */

39     public AbstractBasicTranscoderTestCase(String JavaDoc name) {
40         super(name);
41     }
42
43     /**
44      * Creates the transcoder to test.
45      * @return the newly instantiated transcoder
46      */

47     protected abstract Transcoder createTranscoder();
48
49     /**
50      * Runs the PDF transcoder as if it were called by Batik's rasterizer.
51      * Without special configuration stuff.
52      * @throws Exception if a problem occurs
53      */

54     public void testGenericPDFTranscoder() throws Exception JavaDoc {
55         //Create transcoder
56
Transcoder transcoder = createTranscoder();
57         
58         //Setup input
59
File JavaDoc svgFile = new File JavaDoc(getBaseDir(), "test/resources/fop/svg/text.svg");
60         InputStream JavaDoc in = new java.io.FileInputStream JavaDoc(svgFile);
61         try {
62             TranscoderInput input = new TranscoderInput(in);
63             
64             //Setup output
65
ByteArrayOutputStream out = new ByteArrayOutputStream();
66             try {
67                 TranscoderOutput output = new TranscoderOutput(out);
68                 
69                 //Do the transformation
70
transcoder.transcode(input, output);
71             } finally {
72                 out.close();
73             }
74             assertTrue("Some output expected", out.size() > 0);
75         } finally {
76             in.close();
77         }
78     }
79
80 }
81
Popular Tags