Refactored `DevExpressPdfProcessor` to improve attachment detection: - Changed `DetectEmbeddedFiles` return type to a tuple for better handling of attachment presence and count. - Enhanced logic to parse `/Names` arrays and count object references for accurate attachment detection. - Implemented robust search for `/EmbeddedFiles` to handle multiple occurrences and ensure proper context validation. Updated PHASENPLAN.md and ROADMAP.md to reflect these changes, including the addition of fixes for attachment detection and counting logic. Added new tests in `DevExpressPdfProcessorTests`: - Verified detection of multiple attachments and accurate counts. - Ensured no crashes when processing PDFs with `/EmbeddedFiles`. Included a new test resource (`pdfWithMoreThanOneAttachment.pdf`) for validating multiple attachment scenarios.
47 lines
1.7 KiB
XML
47 lines
1.7 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>net8.0</TargetFramework>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
|
|
<IsPackable>false</IsPackable>
|
|
<IsTestProject>true</IsTestProject>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<None Remove="TestData\Pdfs\valid.pdf" />
|
|
<None Remove="TestData\Pdfs\pdfWithMoreThanOneAttachment.pdf" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="TestData\Pdfs\valid.pdf" />
|
|
<EmbeddedResource Include="TestData\Pdfs\pdfWithMoreThanOneAttachment.pdf" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="coverlet.collector" Version="6.0.0" />
|
|
<PackageReference Include="FluentAssertions" Version="7.0.0" />
|
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.0" />
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
|
|
<PackageReference Include="Moq" Version="4.20.72" />
|
|
<PackageReference Include="xunit" Version="2.9.3" />
|
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
<PrivateAssets>all</PrivateAssets>
|
|
</PackageReference>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Using Include="Xunit" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\DocumentOperator.API\DocumentOperator.API.csproj" />
|
|
<ProjectReference Include="..\DocumentOperator.Domain\DocumentOperator.Domain.csproj" />
|
|
<ProjectReference Include="..\DocumentOperator.Application\DocumentOperator.Application.csproj" />
|
|
<ProjectReference Include="..\DocumentOperator.Infrastructure\DocumentOperator.Infrastructure.csproj" />
|
|
</ItemGroup>
|
|
|
|
</Project>
|