@@ -536,29 +536,46 @@ public virtual void NothingLayoutResult() {
536536 [ NUnit . Framework . Test ]
537537 public virtual void UpdateSpecialScriptLayoutResultsNonTextRenderer ( ) {
538538 IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
539- LayoutResult res = new LayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10 , 10 ) ) ,
540- null , null ) ;
541- specialScriptLayoutResults . Put ( - 1 , res ) ;
539+ TextLayoutResult res = new TextLayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10
540+ , 10 ) ) , null , null , null ) ;
541+ specialScriptLayoutResults . Put ( 0 , res ) ;
542542 NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . IsEmpty ( ) ) ;
543543 TabRenderer tabRenderer = new TabRenderer ( new Tab ( ) ) ;
544- LineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , tabRenderer , 0 , res ) ;
544+ LineRenderer . MinMaxWidthOfTextRendererSequenceHelper minMaxWidthOfTextRendererSequenceHelper = new LineRenderer . MinMaxWidthOfTextRendererSequenceHelper
545+ ( 0f , 0f , false ) ;
546+ AbstractWidthHandler widthHandler = new MaxSumWidthHandler ( new MinMaxWidth ( ) ) ;
547+ PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( new MemoryStream ( ) ) ) ;
548+ Document document = new Document ( pdfDocument ) ;
549+ LineRenderer lineRenderer = new LineRenderer ( ) ;
550+ lineRenderer . SetParent ( document . GetRenderer ( ) ) ;
551+ lineRenderer . AddChild ( tabRenderer ) ;
552+ lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , tabRenderer , 1 , res , minMaxWidthOfTextRendererSequenceHelper
553+ , false , widthHandler ) ;
545554 NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . IsEmpty ( ) ) ;
546555 }
547556
548557 [ NUnit . Framework . Test ]
549558 public virtual void UpdateSpecialScriptLayoutResultsFloatingRenderer ( ) {
550559 IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
551- LayoutResult res = new LayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10 , 10 ) ) ,
552- null , null ) ;
553- int childPosToRemain = - 1 ;
560+ TextLayoutResult res = new TextLayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10
561+ , 10 ) ) , null , null , null ) ;
562+ int childPosToRemain = 0 ;
554563 specialScriptLayoutResults . Put ( childPosToRemain , res ) ;
555564 NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . IsEmpty ( ) ) ;
556565 Tab tab = new Tab ( ) ;
557566 tab . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
558567 TabRenderer tabRenderer = new TabRenderer ( tab ) ;
559- int childPosNotToBeAdded = 0 ;
560- LineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , tabRenderer , childPosNotToBeAdded
561- , res ) ;
568+ LineRenderer . MinMaxWidthOfTextRendererSequenceHelper minMaxWidthOfTextRendererSequenceHelper = new LineRenderer . MinMaxWidthOfTextRendererSequenceHelper
569+ ( 0f , 0f , false ) ;
570+ AbstractWidthHandler widthHandler = new MaxSumWidthHandler ( new MinMaxWidth ( ) ) ;
571+ PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( new MemoryStream ( ) ) ) ;
572+ Document document = new Document ( pdfDocument ) ;
573+ LineRenderer lineRenderer = new LineRenderer ( ) ;
574+ lineRenderer . SetParent ( document . GetRenderer ( ) ) ;
575+ lineRenderer . AddChild ( tabRenderer ) ;
576+ int childPosNotToBeAdded = 1 ;
577+ lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , tabRenderer , childPosNotToBeAdded
578+ , res , minMaxWidthOfTextRendererSequenceHelper , false , widthHandler ) ;
562579 NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . ContainsKey ( childPosToRemain ) ) ;
563580 NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . ContainsKey ( childPosNotToBeAdded ) ) ;
564581 }
@@ -568,10 +585,19 @@ public virtual void UpdateSpecialScriptLayoutResultsTextRendererWithNoSpecialScr
568585 IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
569586 LayoutResult res = new LayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10 , 10 ) ) ,
570587 null , null ) ;
571- specialScriptLayoutResults . Put ( - 1 , res ) ;
588+ specialScriptLayoutResults . Put ( 0 , res ) ;
572589 NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . IsEmpty ( ) ) ;
573590 TextRenderer textRenderer = new TextRenderer ( new iText . Layout . Element . Text ( "whatever" ) ) ;
574- LineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , textRenderer , 1 , res ) ;
591+ PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( new MemoryStream ( ) ) ) ;
592+ Document document = new Document ( pdfDocument ) ;
593+ LineRenderer lineRenderer = new LineRenderer ( ) ;
594+ lineRenderer . SetParent ( document . GetRenderer ( ) ) ;
595+ lineRenderer . AddChild ( textRenderer ) ;
596+ LineRenderer . MinMaxWidthOfTextRendererSequenceHelper minMaxWidthOfTextRendererSequenceHelper = new LineRenderer . MinMaxWidthOfTextRendererSequenceHelper
597+ ( 0f , 0f , false ) ;
598+ AbstractWidthHandler widthHandler = new MaxSumWidthHandler ( new MinMaxWidth ( ) ) ;
599+ lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , textRenderer , 1 , res , minMaxWidthOfTextRendererSequenceHelper
600+ , true , widthHandler ) ;
575601 NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . IsEmpty ( ) ) ;
576602 }
577603
@@ -585,8 +611,17 @@ public virtual void UpdateSpecialScriptLayoutResultsTextRendererWithSpecialScrip
585611 NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . IsEmpty ( ) ) ;
586612 TextRenderer textRenderer = new TextRenderer ( new iText . Layout . Element . Text ( "whatever" ) ) ;
587613 textRenderer . SetSpecialScriptsWordBreakPoints ( new List < int > ( JavaUtil . ArraysAsList ( - 1 ) ) ) ;
614+ PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( new MemoryStream ( ) ) ) ;
615+ Document document = new Document ( pdfDocument ) ;
616+ LineRenderer lineRenderer = new LineRenderer ( ) ;
617+ lineRenderer . SetParent ( document . GetRenderer ( ) ) ;
618+ lineRenderer . AddChild ( textRenderer ) ;
619+ LineRenderer . MinMaxWidthOfTextRendererSequenceHelper minMaxWidthOfTextRendererSequenceHelper = new LineRenderer . MinMaxWidthOfTextRendererSequenceHelper
620+ ( 0f , 0f , false ) ;
621+ AbstractWidthHandler widthHandler = new MaxSumWidthHandler ( new MinMaxWidth ( ) ) ;
588622 int secondKey = firstKey + 1 ;
589- LineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , textRenderer , secondKey , res ) ;
623+ lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , textRenderer , secondKey , res , minMaxWidthOfTextRendererSequenceHelper
624+ , true , widthHandler ) ;
590625 NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . ContainsKey ( firstKey ) ) ;
591626 NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . ContainsKey ( secondKey ) ) ;
592627 }
0 commit comments