@@ -676,8 +676,78 @@ public virtual void FlexContainerRotationAngleTest() {
676
676
, "diff" ) ) ;
677
677
}
678
678
679
- private Div CreateFlexContainer ( ) {
680
- Div flexContainer = new FlexContainer ( ) ;
679
+ [ NUnit . Framework . Test ]
680
+ public virtual void RespectFlexContainersHeightTest ( ) {
681
+ // TODO DEVSIX-5174 content should overflow bottom
682
+ String outFileName = destinationFolder + "respectFlexContainersHeightTest" + testNumber + ".pdf" ;
683
+ String cmpFileName = sourceFolder + "cmp_respectFlexContainersHeightTest" + testNumber + ".pdf" ;
684
+ PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( outFileName ) ) ;
685
+ Document document = new Document ( pdfDocument ) ;
686
+ Style containerStyle = new Style ( ) . SetWidth ( 60 ) . SetHeight ( 50 ) ;
687
+ Div flexContainer = GetFlexContainer ( null , containerStyle ) ;
688
+ Div flexItem = new Div ( ) . SetBackgroundColor ( ColorConstants . BLUE ) . Add ( new Paragraph ( "h" ) ) . Add ( new Paragraph
689
+ ( "e" ) ) . Add ( new Paragraph ( "l" ) ) . Add ( new Paragraph ( "l" ) ) . Add ( new Paragraph ( "o" ) ) . Add ( new Paragraph ( "w" ) )
690
+ . Add ( new Paragraph ( "o" ) ) . Add ( new Paragraph ( "r" ) ) . Add ( new Paragraph ( "l" ) ) . Add ( new Paragraph ( "d" ) ) ;
691
+ flexContainer . Add ( flexItem ) ;
692
+ flexContainer . Add ( new Div ( ) . SetBackgroundColor ( ColorConstants . YELLOW ) . SetWidth ( 10 ) . SetHeight ( 200 ) ) ;
693
+ document . Add ( flexContainer ) ;
694
+ document . Close ( ) ;
695
+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( outFileName , cmpFileName , destinationFolder
696
+ , "diff" ) ) ;
697
+ }
698
+
699
+ [ NUnit . Framework . Test ]
700
+ public virtual void RespectFlexContainersWidthTest ( ) {
701
+ String outFileName = destinationFolder + "respectFlexContainersWidthTest" + testNumber + ".pdf" ;
702
+ String cmpFileName = sourceFolder + "cmp_respectFlexContainersWidthTest" + testNumber + ".pdf" ;
703
+ PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( outFileName ) ) ;
704
+ Document document = new Document ( pdfDocument ) ;
705
+ // default (overflow fit)
706
+ OverflowPropertyValue ? overflowX = null ;
707
+ Style containerStyle = new Style ( ) . SetWidth ( 60 ) . SetHeight ( 200 ) ;
708
+ Style itemStyle = new Style ( ) . SetWidth ( 60f ) . SetHeight ( 100f ) ;
709
+ Div flexContainer = GetFlexContainer ( overflowX , containerStyle ) ;
710
+ flexContainer . Add ( GetFlexItem ( overflowX , itemStyle ) ) . Add ( GetFlexItem ( overflowX , itemStyle ) ) ;
711
+ document . Add ( flexContainer ) ;
712
+ document . Add ( new AreaBreak ( ) ) ;
713
+ // default (overflow visible)
714
+ overflowX = OverflowPropertyValue . VISIBLE ;
715
+ flexContainer = GetFlexContainer ( overflowX , containerStyle ) ;
716
+ flexContainer . Add ( GetFlexItem ( overflowX , itemStyle ) ) . Add ( GetFlexItem ( overflowX , itemStyle ) ) ;
717
+ document . Add ( flexContainer ) ;
718
+ document . Close ( ) ;
719
+ NUnit . Framework . Assert . IsNull ( new CompareTool ( ) . CompareByContent ( outFileName , cmpFileName , destinationFolder
720
+ , "diff" ) ) ;
721
+ }
722
+
723
+ private Div GetFlexContainer ( OverflowPropertyValue ? overflowX , Style style ) {
724
+ FlexContainer flexContainer = CreateFlexContainer ( ) ;
725
+ flexContainer . SetBackgroundColor ( ColorConstants . GREEN ) . SetBorderRight ( new SolidBorder ( 60 ) ) ;
726
+ if ( null != style ) {
727
+ flexContainer . AddStyle ( style ) ;
728
+ }
729
+ if ( null != overflowX ) {
730
+ flexContainer . SetProperty ( Property . OVERFLOW_X , overflowX ) ;
731
+ }
732
+ return flexContainer ;
733
+ }
734
+
735
+ private static Div GetFlexItem ( OverflowPropertyValue ? overflowX , Style style ) {
736
+ Div flexItem = new Div ( ) ;
737
+ flexItem . SetProperty ( Property . FLEX_GROW , 0f ) ;
738
+ flexItem . SetProperty ( Property . FLEX_SHRINK , 0f ) ;
739
+ if ( null != style ) {
740
+ flexItem . AddStyle ( style ) ;
741
+ }
742
+ flexItem . SetBackgroundColor ( ColorConstants . BLUE ) ;
743
+ if ( null != overflowX ) {
744
+ flexItem . SetProperty ( Property . OVERFLOW_X , overflowX ) ;
745
+ }
746
+ return flexItem ;
747
+ }
748
+
749
+ private FlexContainer CreateFlexContainer ( ) {
750
+ FlexContainer flexContainer = new FlexContainer ( ) ;
681
751
flexContainer . SetProperty ( Property . ALIGN_ITEMS , alignItemsValue ) ;
682
752
flexContainer . SetProperty ( Property . JUSTIFY_CONTENT , justifyContentValue ) ;
683
753
return flexContainer ;
0 commit comments