Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: VerifyTests/Verify
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 31.21.0
Choose a base ref
...
head repository: VerifyTests/Verify
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 31.22.0
Choose a head ref
  • 15 commits
  • 303 files changed
  • 4 contributors

Commits on Jul 8, 2026

  1. Configuration menu
    Copy the full SHA
    4382641 View commit details
    Browse the repository at this point in the history
  2. Bump YoloDev.Expecto.TestSdk from 0.15.6 to 0.16.0 (#1780)

    ---
    updated-dependencies:
    - dependency-name: YoloDev.Expecto.TestSdk
      dependency-version: 0.16.0
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jul 8, 2026
    Configuration menu
    Copy the full SHA
    15e2610 View commit details
    Browse the repository at this point in the history
  3. Allow conversion splitters for text extensions (#1778)

    * Allow conversion splitters for text extensions
    
    Allow conversion splitters for text extensions
    Previously RegisterStreamConverter threw for text extensions, and the
    splitter pipeline only handled stream targets, so a converter could not
    run against a text extension (eg html).
    - Drop the text-extension guard in RegisterStreamConverter
    - DoExtensionConversion now takes the Target itself and resolves the
      converter input from either a stream or a text (utf8) target, instead
      of reconstructing an illegal stream Target for text extensions
    - Scrub text targets before they are fed to a converter, so derived
      targets (eg rendered images) reflect the scrubbed content
    - Move converted-target scrubbing into DoExtensionConversion and pass
      already-converted targets through GetTargets untouched, so each text
      target is scrubbed exactly once (no double scrub of the re-emitted
      source)
    Add ExtensionConverterTests.TextSplitter covering a converter registered
    against a text extension.
    
    * .
    
    ---------
    
    Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
    SimonCropp and claude authored Jul 8, 2026
    Configuration menu
    Copy the full SHA
    85799bb View commit details
    Browse the repository at this point in the history
  4. Fix chunk boundary scrubber bugs and test adapter defects (#1779)

    * Fix chunk-boundary scrubber bugs and test-adapter defects
    
    Scrubbers (Verify core):
    - UserMachineScrubber: fix IndexOutOfRangeException when a match ends exactly
      on a chunk boundary with a following chunk (read the trailing char via the
      builder indexer instead of chunkSpan[neededFromCurrent])
    - UserMachineScrubber, GuidScrubber, DirectoryReplacements: roll the carryover
      forward across chunks so a token spanning three or more chunks (with a middle
      chunk shorter than the token) is no longer silently left unscrubbed
    - DateFormatLengthCalculator: 'K' contributes 0 to the minimum length (it can
      render as "", "Z" or "+11:00"), so round-trip/"o" formats now scrub the Z and
      offset-less forms instead of only the offset form
    - LinesScrubber.ReplaceLines: guard the trailing-newline trim on the rebuilt
      builder length, not the original string length, fixing an
      ArgumentOutOfRangeException when every line is replaced with null
    
    Test-framework adapters:
    - MSTest Verifier: only apply TestData parameters when their count matches the
      method parameter count (matches XunitV3; params-array DataRows no longer break
      parameterized snapshot naming)
    - MSTest Verifier_Archive: forward the dropped archiveExtension in the
      VerifyZip(Stream) overload
    - MSTest TestExecutionContext: resolve Method lazily so the method scan runs
      only when a verifier is built
    - MSTest source generator: require an attribute list in the syntax predicate so
      the uncached CreateSyntaxProvider transform no longer runs semantic work for
      every class on every keystroke
    - NUnit VerifyBase_Tuple: pass sourceFile so snapshots resolve to the test's
      path rather than the package build path
    - NUnit VerifyBase_Stream: use settings ?? this.settings in the Task<T> and
      ValueTask<T> stream overloads so instance settings are honored
    
    Add repro tests for the scrubber fixes.
    
    * Docs changes
    
    ---------
    
    Co-authored-by: GitHub Action <action@github.com>
    SimonCropp and actions-user authored Jul 8, 2026
    Configuration menu
    Copy the full SHA
    c5532a8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9ca08ed View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5a5f656 View commit details
    Browse the repository at this point in the history
  7. Revert "Update Directory.Packages.props"

    This reverts commit 5a5f656.
    SimonCropp committed Jul 8, 2026
    Configuration menu
    Copy the full SHA
    e845a44 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2026

  1. Guard against duplicate xunit attachment names (#1783)

    A test can add the same received file as an attachment more than once —
    e.g. several failing Verify calls that share a received name via
    DisableRequireUniquePrefix. xunit's AddAttachment throws on a duplicate
    name, surfacing as an ArgumentException instead of the expected
    VerifyException. Skip the add when the name is already attached.
    SimonCropp authored Jul 9, 2026
    Configuration menu
    Copy the full SHA
    f16f970 View commit details
    Browse the repository at this point in the history
  2. Migrate CI to Microsoft.Testing.Platform so all tests run (#1782)

    * Migrate CI to Microsoft.Testing.Platform so all tests run
    
    The .NET 10+ SDK's legacy `dotnet test` silently no-ops MTP test apps
    ("No test is available", exit 0), so CI was green while running none of
    the xUnit v3 projects (Verify.Tests, StrictJsonTests, Verify.XunitV3.Tests,
    ...) or the Expecto projects.
    
    - global.json: enable the MTP `dotnet test` runner.
    - NUnit/MSTest test projects: EnableNUnitRunner/EnableMSTestRunner, plus
      RootNamespace=Fake (as Verify.Tests already does) so the generated MTP
      entry point doesn't introduce a `Verify` namespace that shadows the
      Verify() method, and OutputType=Exe so the net48 targets are runnable.
    - Expecto: run via `dotnet run` (runnable exe, no MTP runner).
    - Fixie: run via the fixie.console tool (no MTP runner); its tool
      manifest is under src/.config so it must run from src.
    - Comment out Verify.Expecto.Tests/VerifyChecksTests.cs to match every
      other adapter — it was the only one left live and can't pass in-repo
      (VerifyChecks scans the whole solution and hits the intentional Invalid
      fixture); it was hidden by Expecto never running.
    - Regenerate readme.md and docs/wiz/* (snippet line anchors shifted).
    - Accept snapshots that drifted while the tests weren't running
      (DictionaryOrderOrdinal, DateTime[Offset]Combinations,
      MultilineStringInArray, ScrubNumericIdsUlong).
    
    * Fix Verify.Expecto.DerivePaths.Tests racing under parallel execution
    
    These tests mutate global Verify state (UseProjectRelativeDirectory,
    UseSourceFileRelativeDirectory), which throw once any Verify has run.
    Under Expecto's default parallel execution they raced and errored
    intermittently, exposed now that the project actually runs under the
    MTP migration. Mirror the other adapters' DerivePaths tests:
    
    - Call VerifierSettings.Reset() in each test to clear verifyHasBeenRun.
    - Run --sequenced so the global-state tests do not run in parallel.
    - Sign the assembly and add InternalsVisibleTo so the internal Reset()
      is accessible (every other DerivePaths test project already has this).
    
    * .
    
    * Create NewLineTests.TrailingNewlinesRaw.verified.txt
    
    * Update appveyor.yml
    SimonCropp authored Jul 9, 2026
    Configuration menu
    Copy the full SHA
    4beedcc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d99c57f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fccb2db View commit details
    Browse the repository at this point in the history
  5. docs

    SimonCropp committed Jul 9, 2026
    Configuration menu
    Copy the full SHA
    dc2df54 View commit details
    Browse the repository at this point in the history
  6. Update NewLineTests.cs

    SimonCropp committed Jul 9, 2026
    Configuration menu
    Copy the full SHA
    2fb2291 View commit details
    Browse the repository at this point in the history
  7. stop using MSTest metapackage (#1781)

    * stop using MSTest metapackage
    
    microsoft/testfx#9756
    
    * Docs changes
    
    * .
    
    * Update ExpectoNugetUsage.fsproj
    
    * Docs changes
    
    ---------
    
    Co-authored-by: GitHub Action <action@github.com>
    SimonCropp and actions-user authored Jul 9, 2026
    Configuration menu
    Copy the full SHA
    7aaa62c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    61efc04 View commit details
    Browse the repository at this point in the history
Loading