Browse Source

Add tests for text direction handling in TextSpan and TextStyle

Marcin Ziąbek 2 months ago
parent
commit
39957a4581

+ 28 - 0
Source/QuestPDF.UnitTests/TextSpanTests.cs

@@ -134,6 +134,34 @@ public class TextSpanTests
     
     #endregion
     
+    #region Text Direction
+        
+    [Test]
+    public void SetsCorrectTextDirection_LeftToRight()
+    {
+        var (descriptor, textBlockSpan) = CreateTextBlockSpan();
+        descriptor.DirectionFromLeftToRight();
+        Assert.That(textBlockSpan.Style.Direction, Is.EqualTo(TextDirection.LeftToRight));
+    }
+        
+    [Test]
+    public void SetsCorrectTextDirection_RightToLeft()
+    {
+        var (descriptor, textBlockSpan) = CreateTextBlockSpan();
+        descriptor.DirectionFromRightToLeft();
+        Assert.That(textBlockSpan.Style.Direction, Is.EqualTo(TextDirection.RightToLeft));
+    }
+        
+    [Test]
+    public void SetsCorrectTextDirection_Auto()
+    {
+        var (descriptor, textBlockSpan) = CreateTextBlockSpan();
+        descriptor.DirectionFromRightToLeft().DirectionAuto();
+        Assert.That(textBlockSpan.Style.Direction, Is.EqualTo(TextDirection.Auto));
+    }
+        
+    #endregion
+    
     #region Font Features
     
     [Test]

+ 32 - 0
Source/QuestPDF.UnitTests/TextStyleTests.cs

@@ -122,6 +122,38 @@ namespace QuestPDF.UnitTests
     
         #endregion
         
+        #region Text Direction
+        
+        [Test]
+        public void TextDirection_Default()
+        {
+            var textStyle = TextStyle.LibraryDefault;
+            Assert.That(textStyle.Direction, Is.EqualTo(TextDirection.Auto));
+        }
+        
+        [Test]
+        public void SetsCorrectTextDirection_LeftToRight()
+        {
+            var textStyle = TextStyle.Default.DirectionFromLeftToRight();
+            Assert.That(textStyle.Direction, Is.EqualTo(TextDirection.LeftToRight));
+        }
+        
+        [Test]
+        public void SetsCorrectTextDirection_RightToLeft()
+        {
+            var textStyle = TextStyle.Default.DirectionFromRightToLeft();
+            Assert.That(textStyle.Direction, Is.EqualTo(TextDirection.RightToLeft));
+        }
+        
+        [Test]
+        public void SetsCorrectTextDirection_Auto()
+        {
+            var textStyle = TextStyle.Default.DirectionFromRightToLeft().DirectionAuto(); // first change from default, then auto
+            Assert.That(textStyle.Direction, Is.EqualTo(TextDirection.Auto));
+        }
+        
+        #endregion
+        
         #region Font Features
 
         [Test]