@@ -52,7 +52,7 @@ public static void beforeClass() {
52
52
public static void afterClass () {
53
53
CompareTool .cleanup (destinationFolder );
54
54
}
55
-
55
+
56
56
@ Test
57
57
public void readFreeRefReusingInIncrementTest () throws IOException {
58
58
PdfDocument document = new PdfDocument (new PdfReader
@@ -137,12 +137,12 @@ public void freeRefReuseWhenAddNewObjTest() throws IOException {
137
137
Assert .assertEquals (8 , expectObjNumber );
138
138
Assert .assertEquals (0 , expectGenNumber );
139
139
Assert .assertTrue (xref .get (5 ).isFree ());
140
-
140
+
141
141
pdfDoc1 .close ();
142
142
}
143
143
144
144
@ Test
145
- @ LogMessages (messages = @ LogMessage (messageTemplate = KernelLogMessageConstant .MD5_IS_NOT_FIPS_COMPLIANT ,
145
+ @ LogMessages (messages = @ LogMessage (messageTemplate = KernelLogMessageConstant .MD5_IS_NOT_FIPS_COMPLIANT ,
146
146
ignore = true ))
147
147
public void checkEncryptionInXrefStmInIncrementsTest () throws IOException , InterruptedException {
148
148
String inFileName = sourceFolder + "encryptedDocWithXrefStm.pdf" ;
@@ -278,4 +278,27 @@ public void closeDocumentWithoutModificationsTest() throws IOException {
278
278
doc .close ();
279
279
Assert .assertEquals (1 , xrefTableCounter );
280
280
}
281
+
282
+ @ Test
283
+ public void hybridReferenceIncrementTwiceTest () throws IOException , InterruptedException {
284
+ String inFileName = sourceFolder + "hybridReferenceDocument.pdf" ;
285
+ String outFileName = destinationFolder + "hybridReferenceDocumentUpdateTwice.pdf" ;
286
+
287
+ PdfDocument pdfDoc1 = new PdfDocument (
288
+ new PdfReader (inFileName ),
289
+ new PdfWriter (destinationFolder + "hybridReferenceDocumentUpdate.pdf" ),
290
+ new StampingProperties ().useAppendMode ()
291
+ );
292
+ pdfDoc1 .close ();
293
+
294
+ PdfDocument pdfDoc2 = new PdfDocument (
295
+ new PdfReader (destinationFolder + "hybridReferenceDocumentUpdate.pdf" ),
296
+ CompareTool .createTestPdfWriter (outFileName ),
297
+ new StampingProperties ().useAppendMode ()
298
+ );
299
+ pdfDoc2 .close ();
300
+
301
+ //if document processed correctly, no errors should occur
302
+ Assert .assertNull (new CompareTool ().compareByContent (outFileName , inFileName , destinationFolder ));
303
+ }
281
304
}
0 commit comments