@@ -50,18 +50,18 @@ source product.
5050namespace iText . Forms {
5151 public class PdfFormCopyTest : ExtendedITextTest {
5252 public static readonly String sourceFolder = iText . Test . TestUtil . GetParentProjectDirectory ( NUnit . Framework . TestContext
53- . CurrentContext . TestDirectory ) + "/resources/itext/forms/PdfFormFieldsCopyTest /" ;
53+ . CurrentContext . TestDirectory ) + "/resources/itext/forms/PdfFormCopyTest /" ;
5454
5555 public static readonly String destinationFolder = NUnit . Framework . TestContext . CurrentContext . TestDirectory
56- + "/test/itext/forms/PdfFormFieldsCopyTest /" ;
56+ + "/test/itext/forms/PdfFormCopyTest /" ;
5757
5858 [ NUnit . Framework . OneTimeSetUp ]
5959 public static void BeforeClass ( ) {
6060 CreateDestinationFolder ( destinationFolder ) ;
6161 }
6262
6363 [ NUnit . Framework . Test ]
64- [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 13 ) ]
64+ [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 32 ) ]
6565 public virtual void CopyFieldsTest01 ( ) {
6666 String srcFilename1 = sourceFolder + "appearances1.pdf" ;
6767 String srcFilename2 = sourceFolder + "fieldsOn2-sPage.pdf" ;
@@ -256,7 +256,7 @@ public virtual void CopyFieldsTest06() {
256256 }
257257
258258 [ NUnit . Framework . Test ]
259- [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 13 ) ]
259+ [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 32 ) ]
260260 public virtual void CopyFieldsTest07 ( ) {
261261 String srcFilename = sourceFolder + "datasheet.pdf" ;
262262 String destFilename = destinationFolder + "copyFields07.pdf" ;
@@ -274,7 +274,7 @@ public virtual void CopyFieldsTest07() {
274274 }
275275
276276 [ NUnit . Framework . Test ]
277- [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 13 ) ]
277+ [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 32 ) ]
278278 public virtual void CopyFieldsTest08 ( ) {
279279 String srcFilename1 = sourceFolder + "appearances1.pdf" ;
280280 String srcFilename2 = sourceFolder + "fieldsOn2-sPage.pdf" ;
@@ -296,7 +296,7 @@ public virtual void CopyFieldsTest08() {
296296 }
297297
298298 [ NUnit . Framework . Test ]
299- [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 26 ) ]
299+ [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 64 ) ]
300300 public virtual void CopyFieldsTest09 ( ) {
301301 String srcFilename = sourceFolder + "datasheet.pdf" ;
302302 String destFilename = destinationFolder + "copyFields09.pdf" ;
@@ -417,9 +417,9 @@ public virtual void UnnamedFieldsHierarchyTest() {
417417 [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 51 ) ]
418418 public virtual void CopyAndEditTextFields ( ) {
419419 //TODO: update after DEVSIX-2354
420- String srcFileName = sourceFolder + "/ checkPdfFormCopy_Source.pdf" ;
420+ String srcFileName = sourceFolder + "checkPdfFormCopy_Source.pdf" ;
421421 String destFilename = destinationFolder + "copyAndEditTextFields.pdf" ;
422- String cmpFileName = sourceFolder + "/ cmp_copyAndEditTextFields.pdf" ;
422+ String cmpFileName = sourceFolder + "cmp_copyAndEditTextFields.pdf" ;
423423 PdfDocument srcDoc = new PdfDocument ( new PdfReader ( srcFileName ) ) ;
424424 PdfDocument destDoc = new PdfDocument ( new PdfWriter ( destFilename ) ) ;
425425 PdfPageFormCopier pdfPageFormCopier = new PdfPageFormCopier ( ) ;
@@ -442,9 +442,9 @@ public virtual void CopyAndEditTextFields() {
442442 [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 51 ) ]
443443 public virtual void CopyAndEditCheckboxes ( ) {
444444 //TODO: update after DEVSIX-2354
445- String srcFileName = sourceFolder + "/ checkPdfFormCopy_Source.pdf" ;
445+ String srcFileName = sourceFolder + "checkPdfFormCopy_Source.pdf" ;
446446 String destFilename = destinationFolder + "copyAndEditCheckboxes.pdf" ;
447- String cmpFileName = sourceFolder + "/ cmp_copyAndEditCheckboxes.pdf" ;
447+ String cmpFileName = sourceFolder + "cmp_copyAndEditCheckboxes.pdf" ;
448448 PdfDocument srcDoc = new PdfDocument ( new PdfReader ( srcFileName ) ) ;
449449 PdfDocument destDoc = new PdfDocument ( new PdfWriter ( destFilename ) ) ;
450450 PdfPageFormCopier pdfPageFormCopier = new PdfPageFormCopier ( ) ;
@@ -465,9 +465,9 @@ public virtual void CopyAndEditCheckboxes() {
465465 [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 51 ) ]
466466 public virtual void CopyAndEditRadioButtons ( ) {
467467 //TODO: update after DEVSIX-2354
468- String srcFileName = sourceFolder + "/ checkPdfFormCopy_Source.pdf" ;
468+ String srcFileName = sourceFolder + "checkPdfFormCopy_Source.pdf" ;
469469 String destFilename = destinationFolder + "copyAndEditRadioButtons.pdf" ;
470- String cmpFileName = sourceFolder + "/ cmp_copyAndEditRadioButtons.pdf" ;
470+ String cmpFileName = sourceFolder + "cmp_copyAndEditRadioButtons.pdf" ;
471471 PdfDocument srcDoc = new PdfDocument ( new PdfReader ( srcFileName ) ) ;
472472 PdfDocument destDoc = new PdfDocument ( new PdfWriter ( destFilename ) ) ;
473473 PdfPageFormCopier pdfPageFormCopier = new PdfPageFormCopier ( ) ;
@@ -481,5 +481,102 @@ public virtual void CopyAndEditRadioButtons() {
481481 NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( destFilename , cmpFileName , destinationFolder
482482 , "diff_" ) ) ;
483483 }
484+
485+ [ NUnit . Framework . Test ]
486+ [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD ) ]
487+ public virtual void MergeMergedFieldAndMergedFieldTest ( ) {
488+ String srcFileName1 = sourceFolder + "fieldMergedWithWidget.pdf" ;
489+ String destFilename = destinationFolder + "mergeMergedFieldAndMergedFieldTest.pdf" ;
490+ String cmpFileName = sourceFolder + "cmp_mergeMergedFieldAndMergedFieldTest.pdf" ;
491+ using ( PdfWriter writer = new PdfWriter ( destFilename ) ) {
492+ using ( PdfDocument resultPdfDocument = new PdfDocument ( writer ) ) {
493+ using ( PdfReader reader1 = new PdfReader ( srcFileName1 ) ) {
494+ using ( PdfDocument sourceDoc1 = new PdfDocument ( reader1 ) ) {
495+ PdfAcroForm . GetAcroForm ( resultPdfDocument , true ) ;
496+ PdfPageFormCopier formCopier = new PdfPageFormCopier ( ) ;
497+ sourceDoc1 . CopyPagesTo ( 1 , sourceDoc1 . GetNumberOfPages ( ) , resultPdfDocument , formCopier ) ;
498+ sourceDoc1 . CopyPagesTo ( 1 , sourceDoc1 . GetNumberOfPages ( ) , resultPdfDocument , formCopier ) ;
499+ }
500+ }
501+ }
502+ }
503+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( destFilename , cmpFileName , destinationFolder
504+ , "diff_" ) ) ;
505+ }
506+
507+ [ NUnit . Framework . Test ]
508+ [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD , Count = 2 ) ]
509+ public virtual void MergeMergedFieldAndTwoWidgetsTest ( ) {
510+ String srcFileName1 = sourceFolder + "fieldMergedWithWidget.pdf" ;
511+ String srcFileName2 = sourceFolder + "fieldTwoWidgets.pdf" ;
512+ String destFilename = destinationFolder + "mergeMergedFieldAndTwoWidgetsTest.pdf" ;
513+ String cmpFileName = sourceFolder + "cmp_mergeMergedFieldAndTwoWidgetsTest.pdf" ;
514+ using ( PdfWriter writer = new PdfWriter ( destFilename ) ) {
515+ using ( PdfDocument resultPdfDocument = new PdfDocument ( writer ) ) {
516+ using ( PdfReader reader1 = new PdfReader ( srcFileName1 ) ) {
517+ using ( PdfDocument sourceDoc1 = new PdfDocument ( reader1 ) ) {
518+ using ( PdfReader reader2 = new PdfReader ( srcFileName2 ) ) {
519+ using ( PdfDocument sourceDoc2 = new PdfDocument ( reader2 ) ) {
520+ PdfAcroForm . GetAcroForm ( resultPdfDocument , true ) ;
521+ PdfPageFormCopier formCopier = new PdfPageFormCopier ( ) ;
522+ sourceDoc1 . CopyPagesTo ( 1 , sourceDoc1 . GetNumberOfPages ( ) , resultPdfDocument , formCopier ) ;
523+ sourceDoc2 . CopyPagesTo ( 1 , sourceDoc2 . GetNumberOfPages ( ) , resultPdfDocument , formCopier ) ;
524+ }
525+ }
526+ }
527+ }
528+ }
529+ }
530+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( destFilename , cmpFileName , destinationFolder
531+ , "diff_" ) ) ;
532+ }
533+
534+ [ NUnit . Framework . Test ]
535+ [ LogMessage ( iText . IO . LogMessageConstant . DOCUMENT_ALREADY_HAS_FIELD ) ]
536+ public virtual void MergeTwoWidgetsAndMergedFieldTest ( ) {
537+ String srcFileName1 = sourceFolder + "fieldMergedWithWidget.pdf" ;
538+ String srcFileName2 = sourceFolder + "fieldTwoWidgets.pdf" ;
539+ String destFilename = destinationFolder + "mergeTwoWidgetsAndMergedFieldTest.pdf" ;
540+ String cmpFileName = sourceFolder + "cmp_mergeTwoWidgetsAndMergedFieldTest.pdf" ;
541+ using ( PdfWriter writer = new PdfWriter ( destFilename ) ) {
542+ using ( PdfDocument resultPdfDocument = new PdfDocument ( writer ) ) {
543+ using ( PdfReader reader1 = new PdfReader ( srcFileName1 ) ) {
544+ using ( PdfDocument sourceDoc1 = new PdfDocument ( reader1 ) ) {
545+ using ( PdfReader reader2 = new PdfReader ( srcFileName2 ) ) {
546+ using ( PdfDocument sourceDoc2 = new PdfDocument ( reader2 ) ) {
547+ PdfAcroForm . GetAcroForm ( resultPdfDocument , true ) ;
548+ PdfPageFormCopier formCopier = new PdfPageFormCopier ( ) ;
549+ sourceDoc2 . CopyPagesTo ( 1 , sourceDoc2 . GetNumberOfPages ( ) , resultPdfDocument , formCopier ) ;
550+ sourceDoc1 . CopyPagesTo ( 1 , sourceDoc1 . GetNumberOfPages ( ) , resultPdfDocument , formCopier ) ;
551+ }
552+ }
553+ }
554+ }
555+ }
556+ }
557+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( destFilename , cmpFileName , destinationFolder
558+ , "diff_" ) ) ;
559+ }
560+
561+ [ NUnit . Framework . Test ]
562+ public virtual void MergeTwoWidgetsAndTwoWidgetsTest ( ) {
563+ String srcFileName2 = sourceFolder + "fieldTwoWidgets.pdf" ;
564+ String destFilename = destinationFolder + "mergeTwoWidgetsAndTwoWidgetsTest.pdf" ;
565+ String cmpFileName = sourceFolder + "cmp_mergeTwoWidgetsAndTwoWidgetsTest.pdf" ;
566+ using ( PdfWriter writer = new PdfWriter ( destFilename ) ) {
567+ using ( PdfDocument resultPdfDocument = new PdfDocument ( writer ) ) {
568+ using ( PdfReader reader2 = new PdfReader ( srcFileName2 ) ) {
569+ using ( PdfDocument sourceDoc2 = new PdfDocument ( reader2 ) ) {
570+ PdfAcroForm . GetAcroForm ( resultPdfDocument , true ) ;
571+ PdfPageFormCopier formCopier = new PdfPageFormCopier ( ) ;
572+ sourceDoc2 . CopyPagesTo ( 1 , sourceDoc2 . GetNumberOfPages ( ) , resultPdfDocument , formCopier ) ;
573+ sourceDoc2 . CopyPagesTo ( 1 , sourceDoc2 . GetNumberOfPages ( ) , resultPdfDocument , formCopier ) ;
574+ }
575+ }
576+ }
577+ }
578+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( destFilename , cmpFileName , destinationFolder
579+ , "diff_" ) ) ;
580+ }
484581 }
485582}
0 commit comments