@@ -534,96 +534,115 @@ public virtual void NothingLayoutResult() {
534
534
}
535
535
536
536
[ NUnit . Framework . Test ]
537
- public virtual void UpdateSpecialScriptLayoutResultsNonTextRenderer ( ) {
538
- IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
537
+ public virtual void ResetTextSequenceLayoutResultsBecauseOfNonTextRenderer ( ) {
538
+ IDictionary < int , LayoutResult > textRendererLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
539
539
TextLayoutResult res = new TextLayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10
540
540
, 10 ) ) , null , null , null ) ;
541
- specialScriptLayoutResults . Put ( 0 , res ) ;
542
- NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . IsEmpty ( ) ) ;
541
+ textRendererLayoutResults . Put ( 0 , res ) ;
543
542
TabRenderer tabRenderer = new TabRenderer ( new Tab ( ) ) ;
544
543
LineRenderer . MinMaxWidthOfTextRendererSequenceHelper minMaxWidthOfTextRendererSequenceHelper = new LineRenderer . MinMaxWidthOfTextRendererSequenceHelper
545
544
( 0f , 0f , false ) ;
546
545
AbstractWidthHandler widthHandler = new MaxSumWidthHandler ( new MinMaxWidth ( ) ) ;
547
- PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( new MemoryStream ( ) ) ) ;
548
- Document document = new Document ( pdfDocument ) ;
549
546
LineRenderer lineRenderer = new LineRenderer ( ) ;
550
- lineRenderer . SetParent ( document . GetRenderer ( ) ) ;
551
- lineRenderer . AddChild ( tabRenderer ) ;
552
- lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , tabRenderer , 1 , res , minMaxWidthOfTextRendererSequenceHelper
547
+ lineRenderer . ResetTextSequenceIfItEnded ( textRendererLayoutResults , false , tabRenderer , 1 , minMaxWidthOfTextRendererSequenceHelper
553
548
, false , widthHandler ) ;
554
- NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . IsEmpty ( ) ) ;
549
+ NUnit . Framework . Assert . IsTrue ( textRendererLayoutResults . IsEmpty ( ) ) ;
555
550
}
556
551
557
552
[ NUnit . Framework . Test ]
558
- public virtual void UpdateSpecialScriptLayoutResultsFloatingRenderer ( ) {
559
- IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
553
+ public virtual void ResetTextSequenceLayoutResultsBecauseOfFloatingRenderer ( ) {
554
+ IDictionary < int , LayoutResult > textRendererLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
560
555
TextLayoutResult res = new TextLayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10
561
556
, 10 ) ) , null , null , null ) ;
562
- int childPosToRemain = 0 ;
563
- specialScriptLayoutResults . Put ( childPosToRemain , res ) ;
564
- NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . IsEmpty ( ) ) ;
565
- Tab tab = new Tab ( ) ;
566
- tab . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
567
- TabRenderer tabRenderer = new TabRenderer ( tab ) ;
557
+ int childPosAlreadyAdded = 0 ;
558
+ textRendererLayoutResults . Put ( childPosAlreadyAdded , res ) ;
559
+ iText . Layout . Element . Text text = new iText . Layout . Element . Text ( "float" ) ;
560
+ text . SetProperty ( Property . FLOAT , FloatPropertyValue . RIGHT ) ;
561
+ TextRenderer tabRenderer = new TextRenderer ( text ) ;
568
562
LineRenderer . MinMaxWidthOfTextRendererSequenceHelper minMaxWidthOfTextRendererSequenceHelper = new LineRenderer . MinMaxWidthOfTextRendererSequenceHelper
569
563
( 0f , 0f , false ) ;
570
564
AbstractWidthHandler widthHandler = new MaxSumWidthHandler ( new MinMaxWidth ( ) ) ;
571
- PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( new MemoryStream ( ) ) ) ;
572
- Document document = new Document ( pdfDocument ) ;
573
565
LineRenderer lineRenderer = new LineRenderer ( ) ;
574
- lineRenderer . SetParent ( document . GetRenderer ( ) ) ;
575
- lineRenderer . AddChild ( tabRenderer ) ;
566
+ int childPosDuringResetAttempt = 1 ;
567
+ lineRenderer . ResetTextSequenceIfItEnded ( textRendererLayoutResults , false , tabRenderer , childPosDuringResetAttempt
568
+ , minMaxWidthOfTextRendererSequenceHelper , true , widthHandler ) ;
569
+ NUnit . Framework . Assert . IsTrue ( textRendererLayoutResults . IsEmpty ( ) ) ;
570
+ }
571
+
572
+ [ NUnit . Framework . Test ]
573
+ public virtual void UpdateSpecialScriptLayoutResultsNonTextRenderer ( ) {
574
+ IDictionary < int , LayoutResult > textRendererLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
575
+ Tab tab = new Tab ( ) ;
576
+ TabRenderer tabRenderer = new TabRenderer ( tab ) ;
577
+ LineRenderer lineRenderer = new LineRenderer ( ) ;
576
578
int childPosNotToBeAdded = 1 ;
577
- lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , tabRenderer , childPosNotToBeAdded
578
- , res , minMaxWidthOfTextRendererSequenceHelper , false , widthHandler ) ;
579
- NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . ContainsKey ( childPosToRemain ) ) ;
580
- NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . ContainsKey ( childPosNotToBeAdded ) ) ;
579
+ lineRenderer . UpdateSpecialScriptLayoutResults ( textRendererLayoutResults , tabRenderer , childPosNotToBeAdded
580
+ , new LayoutResult ( LayoutResult . FULL , new LayoutArea ( 1 , new Rectangle ( 10 , 10 ) ) , null , null , null ) ) ;
581
+ NUnit . Framework . Assert . IsTrue ( textRendererLayoutResults . IsEmpty ( ) ) ;
581
582
}
582
583
583
584
[ NUnit . Framework . Test ]
584
- public virtual void UpdateSpecialScriptLayoutResultsTextRendererWithNoSpecialScripts ( ) {
585
+ public virtual void ResetSpecialScriptTextSequenceBecauseOfTextRendererWithNoSpecialScripts ( ) {
585
586
IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
586
587
LayoutResult res = new LayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10 , 10 ) ) ,
587
588
null , null ) ;
588
589
specialScriptLayoutResults . Put ( 0 , res ) ;
589
- NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . IsEmpty ( ) ) ;
590
590
TextRenderer textRenderer = new TextRenderer ( new iText . Layout . Element . Text ( "whatever" ) ) ;
591
- PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( new MemoryStream ( ) ) ) ;
592
- Document document = new Document ( pdfDocument ) ;
593
591
LineRenderer lineRenderer = new LineRenderer ( ) ;
594
- lineRenderer . SetParent ( document . GetRenderer ( ) ) ;
595
- lineRenderer . AddChild ( textRenderer ) ;
596
592
LineRenderer . MinMaxWidthOfTextRendererSequenceHelper minMaxWidthOfTextRendererSequenceHelper = new LineRenderer . MinMaxWidthOfTextRendererSequenceHelper
597
593
( 0f , 0f , false ) ;
598
594
AbstractWidthHandler widthHandler = new MaxSumWidthHandler ( new MinMaxWidth ( ) ) ;
599
- lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , textRenderer , 1 , res , minMaxWidthOfTextRendererSequenceHelper
595
+ lineRenderer . ResetTextSequenceIfItEnded ( specialScriptLayoutResults , true , textRenderer , 1 , minMaxWidthOfTextRendererSequenceHelper
600
596
, true , widthHandler ) ;
601
597
NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . IsEmpty ( ) ) ;
602
598
}
603
599
604
600
[ NUnit . Framework . Test ]
605
- public virtual void UpdateSpecialScriptLayoutResultsTextRendererWithSpecialScripts ( ) {
601
+ public virtual void UpdateSpecialScriptLayoutResultsTextRendererWithNoSpecialScripts ( ) {
606
602
IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
603
+ TextRenderer textRenderer = new TextRenderer ( new iText . Layout . Element . Text ( "whatever" ) ) ;
607
604
LayoutResult res = new LayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10 , 10 ) ) ,
608
605
null , null ) ;
609
- int firstKey = - 1 ;
606
+ LineRenderer lineRenderer = new LineRenderer ( ) ;
607
+ lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , textRenderer , 1 , res ) ;
608
+ NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . IsEmpty ( ) ) ;
609
+ }
610
+
611
+ [ NUnit . Framework . Test ]
612
+ public virtual void NotResetSpecialScriptTextSequenceBecauseOfTextRendererWithSpecialScripts ( ) {
613
+ IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
614
+ LayoutResult res = new LayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10 , 10 ) ) ,
615
+ null , null ) ;
616
+ int firstKey = 0 ;
610
617
specialScriptLayoutResults . Put ( firstKey , res ) ;
611
- NUnit . Framework . Assert . IsFalse ( specialScriptLayoutResults . IsEmpty ( ) ) ;
612
618
TextRenderer textRenderer = new TextRenderer ( new iText . Layout . Element . Text ( "whatever" ) ) ;
613
- textRenderer . SetSpecialScriptsWordBreakPoints ( new List < int > ( JavaUtil . ArraysAsList ( - 1 ) ) ) ;
614
- PdfDocument pdfDocument = new PdfDocument ( new PdfWriter ( new MemoryStream ( ) ) ) ;
615
- Document document = new Document ( pdfDocument ) ;
619
+ textRenderer . SetSpecialScriptsWordBreakPoints ( new List < int > ( JavaCollectionsUtil . SingletonList ( - 1 ) ) ) ;
616
620
LineRenderer lineRenderer = new LineRenderer ( ) ;
617
- lineRenderer . SetParent ( document . GetRenderer ( ) ) ;
618
- lineRenderer . AddChild ( textRenderer ) ;
619
621
LineRenderer . MinMaxWidthOfTextRendererSequenceHelper minMaxWidthOfTextRendererSequenceHelper = new LineRenderer . MinMaxWidthOfTextRendererSequenceHelper
620
622
( 0f , 0f , false ) ;
621
623
AbstractWidthHandler widthHandler = new MaxSumWidthHandler ( new MinMaxWidth ( ) ) ;
622
624
int secondKey = firstKey + 1 ;
623
- lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , textRenderer , secondKey , res , minMaxWidthOfTextRendererSequenceHelper
625
+ lineRenderer . ResetTextSequenceIfItEnded ( specialScriptLayoutResults , true , textRenderer , secondKey , minMaxWidthOfTextRendererSequenceHelper
624
626
, true , widthHandler ) ;
627
+ NUnit . Framework . Assert . AreEqual ( 1 , specialScriptLayoutResults . Count ) ;
628
+ NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . ContainsKey ( firstKey ) ) ;
629
+ }
630
+
631
+ [ NUnit . Framework . Test ]
632
+ public virtual void UpdateSpecialScriptLayoutResultsTextRendererWithSpecialScripts ( ) {
633
+ IDictionary < int , LayoutResult > specialScriptLayoutResults = new Dictionary < int , LayoutResult > ( ) ;
634
+ LayoutResult res = new LayoutResult ( LayoutResult . NOTHING , new LayoutArea ( 0 , new Rectangle ( 0 , 0 , 10 , 10 ) ) ,
635
+ null , null ) ;
636
+ int firstKey = 0 ;
637
+ specialScriptLayoutResults . Put ( firstKey , res ) ;
638
+ TextRenderer textRenderer = new TextRenderer ( new iText . Layout . Element . Text ( "whatever" ) ) ;
639
+ textRenderer . SetSpecialScriptsWordBreakPoints ( new List < int > ( JavaCollectionsUtil . SingletonList ( - 1 ) ) ) ;
640
+ LineRenderer lineRenderer = new LineRenderer ( ) ;
641
+ int secondKey = firstKey + 1 ;
642
+ lineRenderer . UpdateSpecialScriptLayoutResults ( specialScriptLayoutResults , textRenderer , secondKey , res ) ;
625
643
NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . ContainsKey ( firstKey ) ) ;
626
644
NUnit . Framework . Assert . IsTrue ( specialScriptLayoutResults . ContainsKey ( secondKey ) ) ;
645
+ NUnit . Framework . Assert . AreEqual ( 2 , specialScriptLayoutResults . Count ) ;
627
646
}
628
647
629
648
[ NUnit . Framework . Test ]
0 commit comments