mirror of
https://github.com/UglyToad/PdfPig.git
synced 2025-09-20 20:07:57 +08:00
Add a unit test for reading document information
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
namespace UglyToad.PdfPig.Tests.Integration
|
||||
{
|
||||
using System;
|
||||
using PdfPig.Tokens;
|
||||
using Xunit;
|
||||
|
||||
public class DocumentInformationTests
|
||||
{
|
||||
[Fact]
|
||||
public void CanReadDocumentInformation()
|
||||
{
|
||||
var path = IntegrationHelpers.GetSpecificTestDocumentPath("custom-properties.pdf");
|
||||
|
||||
using (var document = PdfDocument.Open(path))
|
||||
{
|
||||
var information = document.Information;
|
||||
|
||||
Assert.Equal("Writer", information.Creator);
|
||||
Assert.Equal("MoreKeywords", information.Keywords);
|
||||
Assert.Equal("LibreOffice 6.1", information.Producer);
|
||||
Assert.Equal("TestSubject", information.Subject);
|
||||
Assert.Equal("TestTitle", information.Title);
|
||||
|
||||
var infoDictionary = information.DocumentInformationDictionary;
|
||||
|
||||
var nameToken = NameToken.Create("CustomProperty1");
|
||||
Assert.True(infoDictionary.TryGet(nameToken, out var valueToken), "first custom property must be present");
|
||||
Assert.IsType<StringToken>(valueToken);
|
||||
Assert.Equal("Property Value", ((StringToken)valueToken).Data);
|
||||
|
||||
nameToken = NameToken.Create("CustomProperty2");
|
||||
Assert.True(infoDictionary.TryGet(nameToken, out var valueToken2), "second custom property must be present");
|
||||
Assert.IsType<StringToken>(valueToken2);
|
||||
Assert.Equal("Another Property Value", ((StringToken)valueToken2).Data);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Reference in New Issue
Block a user