From f3c8220ec4d4392b924c69895c750bc7dd373538 Mon Sep 17 00:00:00 2001 From: Eliot Jones Date: Sat, 8 Jun 2019 16:58:20 +0100 Subject: [PATCH] add test coverage for invalid document from #33 --- .../Integration/IntegrationHelpers.cs | 12 +++++++++ .../Integration/InvalidObjectLoopTests.cs | 23 ++++++++++++++++++ .../invalid-xref-loop.pdf | Bin 0 -> 1301 bytes .../UglyToad.PdfPig.Tests.csproj | 2 ++ 4 files changed, 37 insertions(+) create mode 100644 src/UglyToad.PdfPig.Tests/Integration/InvalidObjectLoopTests.cs create mode 100644 src/UglyToad.PdfPig.Tests/Integration/SpecificTestDocuments/invalid-xref-loop.pdf diff --git a/src/UglyToad.PdfPig.Tests/Integration/IntegrationHelpers.cs b/src/UglyToad.PdfPig.Tests/Integration/IntegrationHelpers.cs index 5308676e..22188141 100644 --- a/src/UglyToad.PdfPig.Tests/Integration/IntegrationHelpers.cs +++ b/src/UglyToad.PdfPig.Tests/Integration/IntegrationHelpers.cs @@ -16,5 +16,17 @@ return Path.Combine(documentFolder, name); } + + public static string GetSpecificTestDocumentPath(string name, bool isPdf = true) + { + var documentFolder = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "..", "..", "Integration", "SpecificTestDocuments")); + + if (!name.EndsWith(".pdf") && isPdf) + { + name += ".pdf"; + } + + return Path.Combine(documentFolder, name); + } } } diff --git a/src/UglyToad.PdfPig.Tests/Integration/InvalidObjectLoopTests.cs b/src/UglyToad.PdfPig.Tests/Integration/InvalidObjectLoopTests.cs new file mode 100644 index 00000000..316890b2 --- /dev/null +++ b/src/UglyToad.PdfPig.Tests/Integration/InvalidObjectLoopTests.cs @@ -0,0 +1,23 @@ +namespace UglyToad.PdfPig.Tests.Integration +{ + using Xunit; + + public class InvalidObjectLoopTests + { + [Fact] + public void CanOpenDocumentAndGetPage() + { + var path = IntegrationHelpers.GetSpecificTestDocumentPath("invalid-xref-loop.pdf"); + + using (var document = PdfDocument.Open(path)) + { + for (var i = 1; i <= document.NumberOfPages; i++) + { + var page = document.GetPage(i); + + Assert.NotNull(page.Content); + } + } + } + } +} diff --git a/src/UglyToad.PdfPig.Tests/Integration/SpecificTestDocuments/invalid-xref-loop.pdf b/src/UglyToad.PdfPig.Tests/Integration/SpecificTestDocuments/invalid-xref-loop.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4aea636dba47b3684b2d9d78d67bbcaa9c81bc99 GIT binary patch literal 1301 zcmai!-EPw`6vqK^<)`q?v?0W7$FY;3YEqkzX<}$o+6$oSMM%9Zki}KvppIuj;)ZA7 zio3o5Z^3JDoTXh>E{JsM_;2TY{Epp&%P4upj$L%H`LX%6`MLRy989tP_z8_h>%zV; z*DiLF*u_EMXsgPdN)lZeYAY;J~#G zNU9p$*12l14Um$zYFT6xy`EE;ia;DYo)7^Qf-#?A-(|=G$Z4(H6%d({ zS)EnQ%KFalNH`^t`cmX7J)MvQjL;0NhlSZQt5+8 zJ4>n$w4>OdeRSx79qjMmS%yAdePWuuE^#^+q!pvl)zV7w7PFq}XHjS=(P_6~Vz(Oz%fZ$9m+g$C| ztsa0mlzLzms0)Cl?9HxOAE3iB<#vo=bir3>LqWYtL_RK{(4{ucdxoK}P@y4<12jfZTMUfm!pT}eA cxN+inFiet(JvWWXYSVSY_kDD55MLzdFD~* + @@ -72,6 +73,7 @@ + PreserveNewest