Skip to content

Isolate and strengthen field-sorting tests #577

Closed

Description

@claell

Problem

The field-sorting middleware tests reuse one module-level mutable Entry. Because in-place middleware cases reorder that shared object, later tests can inherit earlier mutations and assert an order that depends on test execution history rather than the documented behavior.

The suite also leaves several useful contracts implicit:

  • fields omitted from a custom order retain their original relative order;
  • custom ordering works through the public writer without mutating the source library when in-place modification is disabled; and
  • ambiguous custom orders with duplicate keys, including case-only duplicates under case-insensitive matching, fail early.

Proposed coverage

Construct a fresh entry for each test, correct the stable-order assertion, and add focused public-writer and duplicate-order cases. This should be a test-only change because current production behavior already satisfies the contracts.

Activity

  1. claell commented on Jul 16, 2026

    @claell
    ContributorAuthor

    A focused test-only implementation is available in draft PR #578: #578

  2. MiWeiss commented on Sep 2, 2026

    @MiWeiss
    Collaborator

    Hi @claell — I'm posting this same note on all of your July 16 issues and PRs (#567–#597), so apologies for the form-letter feel.

    I'm closing this. The batch — 13 issues, 18 PRs, ~3,000 lines, opened within a two-hour window with spec-style language and forward-references to PR numbers that didn't exist yet — reads as AI-generated rather than something you hit and verified by hand. Reviewing it properly would cost me more time than just fixing the parser myself.

    If this is a real bug you've actually hit: reopen it with a concrete repro and a small, human-verified fix, and I'll review it. Any nontrivial design or API choice should be discussed in the issue first, before code is written. Otherwise, please disclose and verify AI-assisted contributions before submitting them in future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions