KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > pdfbox > pdfparser > TestPDFParser


1 /**
2  * Copyright (c) 2005, www.pdfbox.org
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  * 3. Neither the name of pdfbox; nor the names of its
14  * contributors may be used to endorse or promote products derived from this
15  * software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  * http://www.pdfbox.org
29  *
30  */

31 package test.pdfbox.pdfparser;
32
33 import java.io.ByteArrayInputStream JavaDoc;
34 import java.io.IOException JavaDoc;
35 import java.io.InputStream JavaDoc;
36
37 import junit.framework.Test;
38 import junit.framework.TestCase;
39 import junit.framework.TestSuite;
40
41 import org.pdfbox.cos.COSName;
42
43 import org.pdfbox.pdfparser.BaseParser;
44
45
46 /**
47  * This will test the PDF parsing in PDFBox.
48  *
49  * @author <a HREF="mailto:ben@benlitchfield.com">Ben Litchfield</a>
50  * @version $Revision: 1.2 $
51  */

52 public class TestPDFParser extends TestCase
53 {
54     //private static Logger log = Logger.getLogger(TestFDF.class);
55

56     /**
57      * Constructor.
58      *
59      * @param name The name of the test to run.
60      */

61     public TestPDFParser( String JavaDoc name )
62     {
63         super( name );
64     }
65
66     /**
67      * This will get the suite of test that this class holds.
68      *
69      * @return All of the tests that this class holds.
70      */

71     public static Test suite()
72     {
73         return new TestSuite( TestPDFParser.class );
74     }
75
76     /**
77      * infamous main method.
78      *
79      * @param args The command line arguments.
80      */

81     public static void main( String JavaDoc[] args )
82     {
83         String JavaDoc[] arg = {TestPDFParser.class.getName() };
84         junit.textui.TestRunner.main( arg );
85     }
86
87     /**
88      * This will test some cos name parsing.
89      *
90      * @throws Exception If there is an exception while parsing.
91      */

92     public void testCOSName() throws Exception JavaDoc
93     {
94         TestParser parser = new TestParser(new ByteArrayInputStream JavaDoc( "/PANTONE#20116#20CV".getBytes() ) );
95         COSName name = parser.parseCOSName();
96         assertTrue("Failed to parse COSName",name.getName().equals( "PANTONE 116 CV" ));
97         
98     }
99     
100     /**
101      * A simple class used to test parsing of the cos name.
102      */

103     private class TestParser extends BaseParser
104     {
105         /**
106          * Constructor.
107          * @param input The input stream.
108          * @throws IOException If there is an error during parsing.
109          */

110         public TestParser( InputStream JavaDoc input) throws IOException JavaDoc
111         {
112             super( input );
113         }
114         
115         /**
116          * Expose the parseCOSName as public.
117          *
118          * @return The parsed cos name.
119          * @throws IOException If there is an error parsing the COSName.
120          */

121         public COSName parseCOSName() throws IOException JavaDoc
122         {
123             return super.parseCOSName();
124         }
125     }
126 }
Popular Tags