From c68ad0ec056b37c82debebcecfcde1866d61b4d9 Mon Sep 17 00:00:00 2001 From: tknall Date: Tue, 25 Nov 2008 12:03:13 +0000 Subject: Removing pdfbox from source. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@301 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- src/main/java/test/pdfbox/pdmodel/TestFDF.java | 292 ------------------------- 1 file changed, 292 deletions(-) delete mode 100644 src/main/java/test/pdfbox/pdmodel/TestFDF.java (limited to 'src/main/java/test/pdfbox/pdmodel/TestFDF.java') diff --git a/src/main/java/test/pdfbox/pdmodel/TestFDF.java b/src/main/java/test/pdfbox/pdmodel/TestFDF.java deleted file mode 100644 index d17ed11..0000000 --- a/src/main/java/test/pdfbox/pdmodel/TestFDF.java +++ /dev/null @@ -1,292 +0,0 @@ -/** - * Copyright (c) 2005, www.pdfbox.org - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of pdfbox; nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * http://www.pdfbox.org - * - */ -package test.pdfbox.pdmodel; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.util.List; -import java.util.Map; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -import org.pdfbox.cos.COSStream; -import org.pdfbox.cos.COSString; -import org.pdfbox.pdfparser.PDFStreamParser; -import org.pdfbox.pdmodel.PDDocument; -import org.pdfbox.pdmodel.fdf.FDFDocument; -import org.pdfbox.pdmodel.interactive.annotation.PDAppearanceStream; -import org.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget; -import org.pdfbox.pdmodel.interactive.form.PDAcroForm; -import org.pdfbox.pdmodel.interactive.form.PDField; -import org.pdfbox.pdmodel.interactive.form.PDRadioCollection; -import org.pdfbox.pdmodel.interactive.form.PDTextbox; - -/** - * This will test the FDF algorithms in PDFBox. - * - * @author Ben Litchfield (ben@csh.rit.edu) - * @version $Revision: 1.5 $ - */ -public class TestFDF extends TestCase -{ - //private static Logger log = Logger.getLogger(TestFDF.class); - - /** - * Constructor. - * - * @param name The name of the test to run. - */ - public TestFDF( String name ) - { - super( name ); - } - - /** - * This will get the suite of test that this class holds. - * - * @return All of the tests that this class holds. - */ - public static Test suite() - { - return new TestSuite( TestFDF.class ); - } - - /** - * infamous main method. - * - * @param args The command line arguments. - */ - public static void main( String[] args ) - { - String[] arg = {TestFDF.class.getName() }; - junit.textui.TestRunner.main( arg ); - } - - /** - * This will test some simple field setting. - * - * @throws Exception If there is an exception while encrypting. - */ - public void testFDFfdeb() throws Exception - { - PDDocument fdeb = null; - try - { - fdeb = PDDocument.load( "test/input/fdeb.pdf" ); - PDAcroForm form = fdeb.getDocumentCatalog().getAcroForm(); - PDTextbox field = (PDTextbox)form.getField( "f67_1" ); - field.setValue( "2" ); - - String expected = - "/Tx BMC " + - "BT " + - "/Helv 9 Tf " + - " 0 g " + - " 2 1.985585 Td " + - "2.07698 0 Td " + - "(2) Tj " + - "ET " + - "EMC"; - - testContentStreams( fdeb, field, expected ); - } - finally - { - fdeb.close(); - } - - } - - /** - * This will test a pdf with lots of fields. - * - * @throws Exception If there is an exception while encrypting. - */ - public void testFDFPDFWithLotsOfFields() throws Exception - { - PDDocument fdeb = null; - try - { - fdeb = PDDocument.load( "test/input/pdf_with_lots_of_fields.pdf" ); - PDAcroForm form = fdeb.getDocumentCatalog().getAcroForm(); - PDTextbox feld2 = (PDTextbox)form.getField( "Feld.2" ); - feld2.setValue( "Benjamin" ); - - String expected = - "1 1 0.8000000119 rg " + - " 0 0 127.5 19.8299999237 re " + - " f " + - " 0 0 0 RG " + - " 1 w " + - " 0.5 0.5 126.5 18.8299999237 re " + - " S " + - " 0.5 g " + - " 1 1 m " + - " 1 18.8299999237 l " + - " 126.5 18.8299999237 l " + - " 125.5 17.8299999237 l " + - " 2 17.8299999237 l " + - " 2 2 l " + - " 1 1 l " + - " f " + - " 0.75 g " + - " 1 1 m " + - " 126.5 1 l " + - " 126.5 18.8299999237 l " + - " 125.5 17.8299999237 l " + - " 125.5 2 l " + - " 2 2 l " + - " 1 1 l " + - " f " + - " /Tx BMC " + - "BT " + - "/Helv 14 Tf " + - " 0 0 0 rg " + - " 4 4.721 Td " + - "(Benjamin) Tj " + - "ET " + - "EMC"; - - testContentStreams( fdeb, feld2, expected ); - - PDRadioCollection feld3 = (PDRadioCollection)form.getField( "Feld.3" ); - feld3.setValue("RB1"); - assertEquals( "RB1", feld3.getValue() ); - //assertEquals( ((PDCheckbox)feld3.getKids().get( 0 )).getValue(), "RB1" ); - - } - finally - { - fdeb.close(); - } - } - - /** - * This will test the Freedom pdf. - * - * @throws Exception If there is an error while testing. - */ - public void testFDFFreedomExpressions() throws Exception - { - PDDocument freedom = null; - FDFDocument fdf = null; - try - { - freedom = PDDocument.load( "test/input/FreedomExpressions.pdf" ); - fdf = FDFDocument.load( "test/input/FreedomExpressions.fdf" ); - PDAcroForm form = freedom.getDocumentCatalog().getAcroForm(); - form.importFDF( fdf ); - PDTextbox feld2 = (PDTextbox)form.getField( "eeFirstName" ); - List kids = feld2.getKids(); - PDField firstKid = (PDField)kids.get( 0 ); - PDField secondKid = (PDField)kids.get( 1 ); - testContentStreamContains( freedom, firstKid, "Steve" ); - testContentStreamContains( freedom, secondKid, "Steve" ); - - //the appearance stream is suppose to be null because there - //is an F action in the AA dictionary that populates that field. - PDField totalAmt = form.getField( "eeSuppTotalAmt" ); - assertTrue( totalAmt.getDictionary().getDictionaryObject( "AP" ) == null ); - - } - finally - { - if( freedom != null ) - { - freedom.close(); - } - if( fdf != null ) - { - fdf.close(); - } - } - } - - private void testContentStreamContains( PDDocument doc, PDField field, String expected ) throws Exception - { - PDAnnotationWidget widget = field.getWidget(); - Map normalAppearance = widget.getAppearance().getNormalAppearance(); - PDAppearanceStream appearanceStream = (PDAppearanceStream)normalAppearance.get( "default" ); - COSStream actual = appearanceStream.getStream(); - - List actualTokens = getStreamTokens( doc, actual ); - assertTrue( actualTokens.contains( new COSString( expected ) ) ); - } - - private void testContentStreams( PDDocument doc, PDField field, String expected ) throws Exception - { - PDAnnotationWidget widget = field.getWidget(); - Map normalAppearance = widget.getAppearance().getNormalAppearance(); - PDAppearanceStream appearanceStream = (PDAppearanceStream)normalAppearance.get( "default" ); - COSStream actual = appearanceStream.getStream(); - - List actualTokens = getStreamTokens( doc, actual ); - List expectedTokens = getStreamTokens( doc, expected ); - assertEquals( actualTokens.size(), expectedTokens.size() ); - for( int i=0; i