package org.sejda.core.service; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import java.io.IOException; import org.junit.Ignore; import org.junit.Test; import org.sejda.TestUtils; import org.sejda.model.output.ExistingOutputPolicy; import org.sejda.model.parameter.SetPagesTransitionParameters; import org.sejda.model.pdf.PdfVersion; import org.sejda.model.pdf.transition.PdfPageTransition; import org.sejda.model.pdf.transition.PdfPageTransitionStyle; import org.sejda.sambox.pdmodel.interactive.pagenavigation.PDTransition; import org.sejda.sambox.pdmodel.interactive.pagenavigation.PDTransitionDimension; import org.sejda.sambox.pdmodel.interactive.pagenavigation.PDTransitionMotion; import org.sejda.sambox.pdmodel.interactive.pagenavigation.PDTransitionStyle; @Ignore public abstract class SetPagesTransitionsTaskTest extends BaseTaskTest<SetPagesTransitionParameters> { private SetPagesTransitionParameters parameters; private void setUpParameters() throws IOException { parameters = new SetPagesTransitionParameters(); parameters.setCompress(true); parameters.setVersion(PdfVersion.VERSION_1_6); parameters.putTransition(1, PdfPageTransition.newInstance(PdfPageTransitionStyle.BOX_OUTWARD, 1, 5)); parameters.setSource(shortInput()); parameters.setExistingOutputPolicy(ExistingOutputPolicy.OVERWRITE); testContext.pdfOutputTo(parameters); } @Test public void testExecute() throws IOException { setUpParameters(); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(4).forPdfOutput(d -> { PDTransition trans = d.getPage(0).getTransition(); assertEquals(PDTransitionStyle.Box.toString(), trans.getStyle()); assertEquals(PDTransitionMotion.O.toString(), trans.getMotion()); assertNull(d.getPage(1).getTransition()); assertNull(d.getPage(2).getTransition()); assertNull(d.getPage(3).getTransition()); }); } @Test public void testExecuteDefault() throws IOException { setUpParameters(); TestUtils.setProperty(parameters, "defaultTransition", PdfPageTransition.newInstance(PdfPageTransitionStyle.SPLIT_HORIZONTAL_INWARD, 1, 5)); execute(parameters); testContext.assertTaskCompleted(); testContext.assertCreator().assertVersion(PdfVersion.VERSION_1_6).assertPages(4).forEachPdfOutput(d -> { PDTransition trans = d.getPage(0).getTransition(); assertEquals(PDTransitionStyle.Box.toString(), trans.getStyle()); assertEquals(PDTransitionMotion.O.toString(), trans.getMotion()); for (int i = 1; i < 4; i++) { PDTransition defTrans = d.getPage(i).getTransition(); assertEquals(PDTransitionStyle.Split.toString(), defTrans.getStyle()); assertEquals(PDTransitionMotion.I.toString(), defTrans.getMotion()); assertEquals(PDTransitionDimension.H.toString(), defTrans.getDimension()); } }); } }