@@ -43,6 +43,7 @@ source product.
4343using System ;
4444using System . Text ;
4545using iText . IO . Font . Constants ;
46+ using iText . IO . Image ;
4647using iText . Kernel . Colors ;
4748using iText . Kernel . Font ;
4849using iText . Kernel . Geom ;
@@ -876,6 +877,86 @@ public virtual void KeepTogetherInDivWithKidsFloatTest() {
876877 NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( outFile , cmpFileName , destinationFolder ) ) ;
877878 }
878879
880+ [ NUnit . Framework . Test ]
881+ [ LogMessage ( iText . IO . LogMessageConstant . ELEMENT_DOES_NOT_FIT_AREA ) ]
882+ public virtual void FloatingElementsInDivAndKeepTogetherElemTest ( ) {
883+ //TODO: update cmp file when DEVSIX-4681 will be fixed
884+ String cmpFileName = sourceFolder + "cmp_floatingElementsInDivAndKeepTogetherElem.pdf" ;
885+ String outFile = destinationFolder + "floatingElementsInDivAndKeepTogetherElem.pdf" ;
886+ PdfDocument pdfDoc = new PdfDocument ( new PdfWriter ( outFile ) ) ;
887+ pdfDoc . AddNewPage ( ) ;
888+ Document doc = new Document ( pdfDoc ) ;
889+ Div mainDiv = new Div ( ) ;
890+ iText . Layout . Element . Image first = new Image ( ImageDataFactory . Create ( sourceFolder + "1.png" ) ) ;
891+ first . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
892+ first . SetHeight ( 350 ) ;
893+ iText . Layout . Element . Image second = new iText . Layout . Element . Image ( ImageDataFactory . Create ( sourceFolder +
894+ "2.png" ) ) ;
895+ second . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
896+ second . SetHeight ( 350 ) ;
897+ mainDiv . Add ( first ) ;
898+ mainDiv . Add ( second ) ;
899+ doc . Add ( mainDiv ) ;
900+ doc . Add ( new Paragraph ( "Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
901+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
902+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
903+ ) . SetKeepTogether ( true ) . SetFontSize ( 24 ) ) ;
904+ doc . Close ( ) ;
905+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( outFile , cmpFileName , destinationFolder ) ) ;
906+ }
907+
908+ [ NUnit . Framework . Test ]
909+ [ LogMessage ( iText . IO . LogMessageConstant . ELEMENT_DOES_NOT_FIT_AREA ) ]
910+ public virtual void FloatingEmptyElementsInDivAndKeepTogetherElemTest ( ) {
911+ //TODO: update cmp file when DEVSIX-4681 will be fixed
912+ String cmpFileName = sourceFolder + "cmp_floatingEmptyElementsInDivAndKeepTogetherElem.pdf" ;
913+ String outFile = destinationFolder + "floatingEmptyElementsInDivAndKeepTogetherElem.pdf" ;
914+ PdfDocument pdfDoc = new PdfDocument ( new PdfWriter ( outFile ) ) ;
915+ pdfDoc . AddNewPage ( PageSize . A5 . Rotate ( ) ) ;
916+ Document doc = new Document ( pdfDoc ) ;
917+ Div mainDiv = new Div ( ) ;
918+ Paragraph p1 = new Paragraph ( ) ;
919+ p1 . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
920+ Paragraph p2 = new Paragraph ( ) ;
921+ p2 . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
922+ Paragraph ktp = new Paragraph ( "Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
923+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
924+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
925+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
926+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " ) . SetKeepTogether
927+ ( true ) . SetFontSize ( 20 ) ;
928+ mainDiv . Add ( p1 ) ;
929+ mainDiv . Add ( p2 ) ;
930+ doc . Add ( mainDiv ) ;
931+ doc . Add ( ktp ) ;
932+ doc . Close ( ) ;
933+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( outFile , cmpFileName , destinationFolder ) ) ;
934+ }
935+
936+ [ NUnit . Framework . Test ]
937+ public virtual void FloatingEmptyElementsAndKeepTogetherElemTest ( ) {
938+ String cmpFileName = sourceFolder + "cmp_floatingEmptyElementsAndKeepTogetherElem.pdf" ;
939+ String outFile = destinationFolder + "floatingEmptyElementsAndKeepTogetherElem.pdf" ;
940+ PdfDocument pdfDoc = new PdfDocument ( new PdfWriter ( outFile ) ) ;
941+ pdfDoc . AddNewPage ( PageSize . A5 . Rotate ( ) ) ;
942+ Document doc = new Document ( pdfDoc ) ;
943+ Paragraph p1 = new Paragraph ( ) ;
944+ p1 . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
945+ Paragraph p2 = new Paragraph ( ) ;
946+ p2 . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
947+ Paragraph ktp = new Paragraph ( "Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
948+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
949+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
950+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
951+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " ) . SetKeepTogether
952+ ( true ) . SetFontSize ( 20 ) ;
953+ doc . Add ( p1 ) ;
954+ doc . Add ( p2 ) ;
955+ doc . Add ( ktp ) ;
956+ doc . Close ( ) ;
957+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( outFile , cmpFileName , destinationFolder ) ) ;
958+ }
959+
879960 private Div CreateChildDivWithText ( Div parent , String text ) {
880961 Div child = new Div ( ) ;
881962 if ( text != null ) {
0 commit comments