Browse Source

Fixed tests

MarcinZiabek 2 years ago
parent
commit
6fe6e7ee41

+ 10 - 1
Source/QuestPDF.UnitTests/DynamicImageTests.cs

@@ -17,6 +17,8 @@ namespace QuestPDF.UnitTests
             TestPlan
             TestPlan
                 .For(x => new DynamicImage
                 .For(x => new DynamicImage
                 {
                 {
+                    TargetDpi = DocumentSettings.DefaultRasterDpi,
+                    CompressionQuality = ImageCompressionQuality.High,
                     Source = GenerateImage
                     Source = GenerateImage
                 })
                 })
                 .MeasureElement(new Size(300, 200))
                 .MeasureElement(new Size(300, 200))
@@ -29,6 +31,8 @@ namespace QuestPDF.UnitTests
             TestPlan
             TestPlan
                 .For(x => new DynamicImage
                 .For(x => new DynamicImage
                 {
                 {
+                    TargetDpi = DocumentSettings.DefaultRasterDpi,
+                    CompressionQuality = ImageCompressionQuality.High,
                     Source = size => null
                     Source = size => null
                 })
                 })
                 .DrawElement(new Size(300, 200))
                 .DrawElement(new Size(300, 200))
@@ -41,6 +45,8 @@ namespace QuestPDF.UnitTests
             TestPlan
             TestPlan
                 .For(x => new DynamicImage
                 .For(x => new DynamicImage
                 {
                 {
+                    TargetDpi = DocumentSettings.DefaultRasterDpi,
+                    CompressionQuality = ImageCompressionQuality.High,
                     Source = GenerateImage
                     Source = GenerateImage
                 })
                 })
                 .DrawElement(new Size(300, 200))
                 .DrawElement(new Size(300, 200))
@@ -56,6 +62,8 @@ namespace QuestPDF.UnitTests
             TestPlan
             TestPlan
                 .For(x => new DynamicImage
                 .For(x => new DynamicImage
                 {
                 {
+                    TargetDpi = DocumentSettings.DefaultRasterDpi * 3,
+                    CompressionQuality = ImageCompressionQuality.High,
                     Source = size =>
                     Source = size =>
                     {
                     {
                         passedSize = size;
                         passedSize = size;
@@ -66,7 +74,8 @@ namespace QuestPDF.UnitTests
                 .ExpectCanvasDrawImage(Position.Zero, new Size(400, 300))
                 .ExpectCanvasDrawImage(Position.Zero, new Size(400, 300))
                 .CheckDrawResult();
                 .CheckDrawResult();
             
             
-            passedSize.Should().BeEquivalentTo(new Size(400, 300));
+            passedSize.Width.Should().Be(1200);
+            passedSize.Height.Should().Be(900);
         }
         }
         
         
         byte[] GenerateImage(ImageSize size)
         byte[] GenerateImage(ImageSize size)

+ 6 - 11
Source/QuestPDF.UnitTests/ImageTests.cs

@@ -37,6 +37,8 @@ namespace QuestPDF.UnitTests
             TestPlan
             TestPlan
                 .For(x => new ImageElement
                 .For(x => new ImageElement
                 {
                 {
+                    CompressionQuality = ImageCompressionQuality.High,
+                    TargetDpi = DocumentSettings.DefaultRasterDpi,
                     DocumentImage = GenerateDocumentImage(400, 300)
                     DocumentImage = GenerateDocumentImage(400, 300)
                 })
                 })
                 .DrawElement(new Size(300, 200))
                 .DrawElement(new Size(300, 200))
@@ -47,7 +49,7 @@ namespace QuestPDF.UnitTests
         [Test]
         [Test]
         public void Fluent_RecognizesImageProportions()
         public void Fluent_RecognizesImageProportions()
         {
         {
-            var image = GenerateSkiaImage(600, 200).Encode(SKEncodedImageFormat.Png, 100).ToArray();
+            var image = GenerateDocumentImage(600, 200);
             
             
             TestPlan
             TestPlan
                 .For(x =>
                 .For(x =>
@@ -107,18 +109,11 @@ namespace QuestPDF.UnitTests
                 .GeneratePdf()
                 .GeneratePdf()
                 .Length;
                 .Length;
         }
         }
-        
-        SKImage GenerateSkiaImage(int width, int height)
-        {
-            var imageInfo = new SKImageInfo(width, height);
-            using var surface = SKSurface.Create(imageInfo);
-            return surface.Snapshot();
-        }
-        
+
         DocumentImage GenerateDocumentImage(int width, int height)
         DocumentImage GenerateDocumentImage(int width, int height)
         {
         {
-            var skiaImage = GenerateSkiaImage(width, height);
-            return DocumentImage.FromSkImage(skiaImage);
+            var image = Placeholders.Image(width, height);
+            return DocumentImage.FromBinaryData(image);
         }
         }
     }
     }
 }
 }

+ 2 - 0
Source/QuestPDF.UnitTests/TestEngine/TestPlan.cs

@@ -237,6 +237,8 @@ namespace QuestPDF.UnitTests.TestEngine
                 
                 
                 Child = new DynamicImage
                 Child = new DynamicImage
                 {
                 {
+                    CompressionQuality = ImageCompressionQuality.Medium,
+                    TargetDpi = DocumentSettings.DefaultRasterDpi,
                     Source = Placeholders.Image
                     Source = Placeholders.Image
                 }
                 }
             };
             };

+ 8 - 0
Source/QuestPDF/Drawing/DocumentGenerator.cs

@@ -249,6 +249,14 @@ namespace QuestPDF.Drawing
                     dynamicHost.ImageTargetDpi ??= imageRasterDpi;
                     dynamicHost.ImageTargetDpi ??= imageRasterDpi;
                     dynamicHost.ImageCompressionQuality ??= imageCompressionQuality;
                     dynamicHost.ImageCompressionQuality ??= imageCompressionQuality;
                 }
                 }
+
+                if (x is TextBlock textBlock)
+                {
+                    foreach (var textBlockElement in textBlock.Items.OfType<TextBlockElement>())
+                    {
+                        textBlockElement.Element.ApplyDefaultImageConfiguration(settings);
+                    }
+                }
             });
             });
         }
         }