-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: demaconsulting/FileAssert
base: 0.4.0
head repository: demaconsulting/FileAssert
compare: 0.5.1
- 6 commits
- 183 files changed
- 7 contributors
Commits on Jun 1, 2026
-
Bump the nuget-dependencies group with 5 updates (#51)
Bumps demaconsulting.fileassert from 0.3.0 to 0.4.0 Bumps DemaConsulting.TestResults from 1.7.0 to 1.8.0 Bumps Microsoft.NET.Test.Sdk from 18.5.1 to 18.6.0 Bumps Polyfill from 10.7.0 to 10.7.1 Bumps SonarAnalyzer.CSharp from 10.26.0.140279 to 10.27.0.140913 --- updated-dependencies: - dependency-name: demaconsulting.fileassert dependency-version: 0.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies - dependency-name: DemaConsulting.TestResults dependency-version: 1.8.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies - dependency-name: Polyfill dependency-version: 10.7.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-dependencies - dependency-name: SonarAnalyzer.CSharp dependency-version: 10.27.0.140913 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies - dependency-name: SonarAnalyzer.CSharp dependency-version: 10.27.0.140913 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 2f2a45a - Browse repository at this point
Copy the full SHA 2f2a45aView commit details
Commits on Jun 8, 2026
-
Bump the nuget-dependencies group with 4 updates (#52)
Bumps demaconsulting.pandoctool from 3.9.0.2 to 3.10.0 Bumps DemaConsulting.TestResults from 1.8.0 to 1.9.0 Bumps demaconsulting.weasyprinttool from 68.1.0 to 69.0.0 Bumps Polyfill from 10.7.1 to 10.8.1 --- updated-dependencies: - dependency-name: demaconsulting.pandoctool dependency-version: 3.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies - dependency-name: DemaConsulting.TestResults dependency-version: 1.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies - dependency-name: demaconsulting.weasyprinttool dependency-version: 69.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: nuget-dependencies - dependency-name: Polyfill dependency-version: 10.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 01d3af9 - Browse repository at this point
Copy the full SHA 01d3af9View commit details
Commits on Jun 15, 2026
-
Bump the nuget-dependencies group with 4 updates (#53)
Bumps demaconsulting.buildmark from 1.2.2 to 1.3.0 Bumps Microsoft.CodeAnalysis.NetAnalyzers from 10.0.300 to 10.0.301 Bumps Microsoft.Extensions.FileSystemGlobbing from 10.0.8 to 10.0.9 Bumps Polyfill from 10.8.1 to 10.10.0 --- updated-dependencies: - dependency-name: demaconsulting.buildmark dependency-version: 1.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies - dependency-name: Microsoft.CodeAnalysis.NetAnalyzers dependency-version: 10.0.301 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-dependencies - dependency-name: Microsoft.CodeAnalysis.NetAnalyzers dependency-version: 10.0.301 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-dependencies - dependency-name: Microsoft.Extensions.FileSystemGlobbing dependency-version: 10.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-dependencies - dependency-name: Polyfill dependency-version: 10.10.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-dependencies ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 08dc5c7 - Browse repository at this point
Copy the full SHA 08dc5c7View commit details
Commits on Jun 18, 2026
-
Introduce IFileContainer for enhanced zip content assertions (#54)
* Add IFileContainer abstraction for zip content assertions Introduce IFileContainer (with DirectoryFileContainer and ZipFileContainer implementations) so that the full suite of content assertions (text, xml, yaml, json, html, pdf, and nested zip) can be applied to entries inside a zip archive, recursively. Key changes: - New IContext interface and ScopedContext wrapper for breadcrumb error messages - New IFileContainer interface with Glob(), Size(), Open(), and DisplayName - DirectoryFileContainer wraps a real filesystem directory - ZipFileContainer wraps a ZipArchive (from path or stream, enabling zip-in-zip) - All 7 content asserters updated to Run(IContext, IFileContainer, string entryPath) - FileAssertFile.Run() unified to take IFileContainer (DirectoryInfoWrapper retired) - FileAssertTest constructs DirectoryFileContainer for top-level filesystem runs - FileAssertZipAssert rewritten: entries now use FileAssertFileData (full parity), opens ZipFileContainer per entry, scopes context with breadcrumb prefix - FileAssertZipEntryData deleted; FileAssertZipData.Entries reuses FileAssertFileData - 291 tests across net8/net9/net10 (19 new zip content tests, 2 new modeling tests, 12 new container unit tests, 2 new scoped context tests, 5 new integration tests) - Full companion artifact sweep: requirements, design, verification docs, review sets, README, and user guide all updated Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix formal review findings from IFileContainer feature branch * Add OTS design docs to YamlDotNet, PdfPig, HtmlAgilityPack, FileSystemGlobbing review sets Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix second round of formal review findings * Fix third round of formal review findings - Add malformed-HTML lenient-parse test for HtmlAgilityPack OTS - Add HTML and PDF zip-entry assertion tests - Add multi-page PDF boundary test and PdfMetadataRule negative tests - Add YamlAssert.Create() validation (empty queries, no-op, contradictory min/max) - Split compound FileAssertFile Count/Size requirements into atomic requirements - Fix compound OTS parent requirements (ReviewMark, VersionMark, PdfPig) - Restructure OTS design docs to Purpose/Features Used/Integration Pattern (ReviewMark, VersionMark, xUnit) - Fix OTS-ReviewMark design: document URL-based evidence source and network dependency - Add Features Used and Integration Pattern to OTS-VersionMark design - Fix xUnit 'or equivalent' ambiguity and PrivateAssets claim - Fix AllRequirements traceability: FileTypeParsing, FileTypeParseError, QueryAssertions, JUnit - Add system-level design and verification for --depth flag - Complete HtmlAssert design doc tables - Add JUnit configuration verification scenario - Fix DirectoryFileContainer temp path description - Fix introduction.md References section to use verbal references Tests: 326/326 passing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add 'enation' to cspell word list Used in multi-page PDF boundary tests to verify the page separator prevents cross-page token merging (concat + enation). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove flawed LockedFile test and FileTypeReadError requirement File locking via FileShare.None is not reliably enforced on Linux. The IO error path is already covered by per-asserter IOError tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix duplicated breadcrumb in ZipAssert error messages ZipFileContainer.GetDisplayPath already builds the full breadcrumb path (e.g. 'outer.zip > entry.txt'). The additional context.WithPrefix call in FileAssertZipAssert.Run duplicated it, producing messages like 'outer.zip > File ''outer.zip > entry.txt'' ...'. Remove WithPrefix from ZipAssert.Run and rely solely on GetDisplayPath. Also tighten the breadcrumb test to assert the zip name appears exactly once in the error message, so this cannot regress silently. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix PR review findings: silent-pass, backslash patterns, misc - Remove entries: alias (never shipped, no backward compat needed) - Validate zip: block requires at least one files: entry; null/empty now throws InvalidOperationException instead of silently passing - Normalize backslash separators in glob patterns before matching so sub\*.txt works against forward-slash normalized entry paths - Add tests: NullFiles/EmptyFiles throw, BackslashPattern matches, invalid YAML throws, selftest scenario name corrected Tests: 329/329 passing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix MultiRuntime reqstream filter prefix (net8.0 not dotnet8.x) The build job produces TRX files named 'macos-latest_net8.0_*.trx'. ReqStream derives the source filter from the TRX filename, so the correct prefix is 'net8.0@', not 'dotnet8.x@'. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Malcolm Nixon <Malcolm.Nixon@hiarc.inc> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Developer Agent <agent@dema.local>
Configuration menu - View commit details
-
Copy full SHA for 8677800 - Browse repository at this point
Copy the full SHA 8677800View commit details -
Fix code quality warnings from CodeQL, Roslyn, and SonarQube (#55)
* Fix code quality warnings from CodeQL, Roslyn, and SonarQube - Add CodeQL exclusions for cs/useless-assignment-to-local and cs/missed-ternary-operator targeting generated obj/ files - Inline archiveEntry variable in ZipAssertTests to fix cs/linq/missed-select - Use string interpolation in ProgramTests to fix cs/useless-tostring-call - Add using var to StringWriter locals in CliTests to fix cs/local-not-disposed - Simplify using statement block to using var in CliTests (IDE0063) - Change Errors property return type to ReadOnlyCollection<string> in four CapturingContext test helpers (CA1859) - Extract RunDocumentAssertions and BuildPageText helpers from FileAssertPdfAssert.Run to reduce cognitive complexity (S3776) - Extract RunEntryChecks helper from FileAssertFile.Run to reduce cognitive complexity (S3776) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Avoid materializing Page objects when only page count is needed When only a page-count constraint is configured (no text rules), enumerate the pages with Count() rather than ToList() to avoid allocating Page objects unnecessarily for large PDFs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Malcolm Nixon <Malcolm.Nixon@hiarc.inc> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f10606b - Browse repository at this point
Copy the full SHA f10606bView commit details
Commits on Jun 21, 2026
-
Self validation enhancement (#57)
* Add self-validation for all file types. * Update docs and traceability for expanded self-validation suite (#56) * Update self-validation documentation * Fix self-validation traceability --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Malcolm Nixon <Malcolm.Nixon@hiarc.inc> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 699c4ab - Browse repository at this point
Copy the full SHA 699c4abView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.4.0...0.5.1