"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "pdfbox/src/test/java/org/apache/pdfbox/pdmodel/graphics/optionalcontent/TestOptionalContentGroups.java" between
pdfbox-2.0.23-src.zip and pdfbox-2.0.24-src.zip

About: Apache PDFBox is a Java PDF library tool that allows creation of new PDF documents, manipulation of existing documents and the ability to extract content from documents.

TestOptionalContentGroups.java  (pdfbox-2.0.23-src):TestOptionalContentGroups.java  (pdfbox-2.0.24-src)
skipping to change at line 27 skipping to change at line 27
package org.apache.pdfbox.pdmodel.graphics.optionalcontent; package org.apache.pdfbox.pdmodel.graphics.optionalcontent;
import java.awt.Color; import java.awt.Color;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.awt.image.DataBufferInt; import java.awt.image.DataBufferInt;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import junit.framework.TestCase; import junit.framework.TestCase;
import static junit.framework.TestCase.assertFalse; import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertTrue; import static junit.framework.TestCase.assertTrue;
import org.apache.pdfbox.cos.COSName; import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentCatalog; import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
import org.apache.pdfbox.pdmodel.PDPage; import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDResources; import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.PDPageContentStream; import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode; import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode;
import org.apache.pdfbox.pdmodel.PageMode; import org.apache.pdfbox.pdmodel.PageMode;
import org.apache.pdfbox.pdmodel.documentinterchange.markedcontent.PDMarkedConte nt;
import org.apache.pdfbox.pdmodel.font.PDFont; import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font; import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.graphics.optionalcontent.PDOptionalContentPrope rties.BaseState; import org.apache.pdfbox.pdmodel.graphics.optionalcontent.PDOptionalContentPrope rties.BaseState;
import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.pdfbox.text.PDFMarkedContentExtractor;
import org.apache.pdfbox.text.TextPosition;
import org.junit.Assert; import org.junit.Assert;
/** /**
* Tests optional content group functionality (also called layers). * Tests optional content group functionality (also called layers).
*/ */
public class TestOptionalContentGroups extends TestCase public class TestOptionalContentGroups extends TestCase
{ {
private final File testResultsDir = new File("target/test-output"); private final File testResultsDir = new File("target/test-output");
@Override @Override
skipping to change at line 210 skipping to change at line 214
Collection<PDOptionalContentGroup> coll = ocgs.getOptionalContentGro ups(); Collection<PDOptionalContentGroup> coll = ocgs.getOptionalContentGro ups();
assertEquals(3, coll.size()); assertEquals(3, coll.size());
Set<String> nameSet = new HashSet<String>(); Set<String> nameSet = new HashSet<String>();
for (PDOptionalContentGroup ocg2 : coll) for (PDOptionalContentGroup ocg2 : coll)
{ {
nameSet.add(ocg2.getName()); nameSet.add(ocg2.getName());
} }
assertTrue(nameSet.contains("background")); assertTrue(nameSet.contains("background"));
assertTrue(nameSet.contains("enabled")); assertTrue(nameSet.contains("enabled"));
assertTrue(nameSet.contains("disabled")); assertTrue(nameSet.contains("disabled"));
PDFMarkedContentExtractor extractor = new PDFMarkedContentExtractor(
);
extractor.processPage(page);
List<PDMarkedContent> markedContents = extractor.getMarkedContents()
;
assertEquals("oc1", markedContents.get(0).getTag());
assertEquals("PDF 1.5: Optional Content Groups"
+ "You should see a green textline, but no red text line.",
textPositionListToString(markedContents.get(0).getContents()
));
assertEquals("oc2", markedContents.get(1).getTag());
assertEquals("This is from an enabled layer. If you see this, that's
good.",
textPositionListToString(markedContents.get(1).getContents()
));
assertEquals("oc3", markedContents.get(2).getTag());
assertEquals("This is from a disabled layer. If you see this, that's
NOT good!",
textPositionListToString(markedContents.get(2).getContents()
));
} }
finally finally
{ {
doc.close(); doc.close();
} }
} }
/**
* Convert a list of TextPosition objects to a string.
*
* @param contents list of TextPosition objects.
* @return
*/
private String textPositionListToString(List<Object> contents)
{
StringBuilder sb = new StringBuilder();
for (Object o : contents)
{
TextPosition tp = (TextPosition) o;
sb.append(tp.getUnicode());
}
return sb.toString();
}
public void testOCGsWithSameNameCanHaveDifferentVisibility() throws Exceptio n public void testOCGsWithSameNameCanHaveDifferentVisibility() throws Exceptio n
{ {
PDDocument doc = new PDDocument(); PDDocument doc = new PDDocument();
try try
{ {
//Create new page //Create new page
PDPage page = new PDPage(); PDPage page = new PDPage();
doc.addPage(page); doc.addPage(page);
PDResources resources = page.getResources(); PDResources resources = page.getResources();
if( resources == null ) if( resources == null )
 End of changes. 5 change blocks. 
0 lines changed or deleted 42 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)