chore(deps): update rust crate asserting to 0.17.0 (master) #11

Open
renovate-bot wants to merge 1 commit from renovate/master-asserting-0.x into master
Collaborator

This PR contains the following updates:

Package Type Update Change
asserting dev-dependencies minor 0.15.0 → 0.17.0

Release Notes

innoave/asserting (asserting)

v0.17.0

Compare Source

Added
  • provide is_in assertions for all types that implement PartialEq
    (PR #​100)
  • provide is_close_to_with_margin assertion for temporal types of the chrono-crate (optional
    crate feature "chrono")
    (PR #​101)
  • provide is_close_to_with_margin assertion for temporal types of the time-crate (optional crate
    feature "time")
    (PR #​102)
  • provide is_close_to_with_margin assertion for temporal types of the jiff-crate (optional crate
    feature "jiff")
    (PR #​103)
Changed
  • remove the DefinedOrderProperty trait bound from collection and iterator assertion
    (PR #​97)
  • Breaking: move representation system related types and functions to own module
    (PR #​104)

v0.16.2

Compare Source

Fixed
  • failing assertion shows 'Box' in the terminal
    (PR #​99)

v0.16.1

Compare Source

Fixed
  • failing assertions report the wrong location in the terminal
    (PR #​98)

v0.16.0

Compare Source

custom representation and asserting (foreign) types that do not implement Debug

Added
  • Breaking: controlling type formatting in failure reports
    (PR #​96)

    The API for writing custom expectations has changed. It now has an additional parameter
    'representation' in many methods. Implementations of the Expectation trait should no longer
    require implementing Debug but instead depend on the Represent-trait.

    Note: This feature does not break anything when using the crate for writing assertions in tests.

Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [asserting](https://github.com/innoave/asserting) | dev-dependencies | minor | `0.15.0` → `0.17.0` | --- ### Release Notes <details> <summary>innoave/asserting (asserting)</summary> ### [`v0.17.0`](https://github.com/innoave/asserting/blob/HEAD/CHANGELOG.md#0170---2026-10-03) [Compare Source](https://github.com/innoave/asserting/compare/v0.16.2...v0.17.0) ##### Added - provide `is_in` assertions for all types that implement `PartialEq` [(PR #&#8203;100)](https://github.com/innoave/asserting/pull/100) - provide `is_close_to_with_margin` assertion for temporal types of the `chrono`-crate (optional crate feature "chrono") [(PR #&#8203;101)](https://github.com/innoave/asserting/pull/101) - provide `is_close_to_with_margin` assertion for temporal types of the `time`-crate (optional crate feature "time") [(PR #&#8203;102)](https://github.com/innoave/asserting/pull/102) - provide `is_close_to_with_margin` assertion for temporal types of the `jiff`-crate (optional crate feature "jiff") [(PR #&#8203;103)](https://github.com/innoave/asserting/pull/103) ##### Changed - remove the `DefinedOrderProperty` trait bound from collection and iterator assertion [(PR #&#8203;97)](https://github.com/innoave/asserting/pull/97) - **Breaking**: move representation system related types and functions to own module [(PR #&#8203;104)](https://github.com/innoave/asserting/pull/104) ### [`v0.16.2`](https://github.com/innoave/asserting/blob/HEAD/CHANGELOG.md#0162---2026-09-27) [Compare Source](https://github.com/innoave/asserting/compare/v0.16.1...v0.16.2) ##### Fixed - failing assertion shows 'Box<dyn Any>' in the terminal [(PR #&#8203;99)](https://github.com/innoave/asserting/pull/99) ### [`v0.16.1`](https://github.com/innoave/asserting/blob/HEAD/CHANGELOG.md#0161---2026-09-26) [Compare Source](https://github.com/innoave/asserting/compare/v0.16.0...v0.16.1) ##### Fixed - failing assertions report the wrong location in the terminal [(PR #&#8203;98)](https://github.com/innoave/asserting/pull/98) ### [`v0.16.0`](https://github.com/innoave/asserting/blob/HEAD/CHANGELOG.md#0160---2026-09-05) [Compare Source](https://github.com/innoave/asserting/compare/v0.15.0...v0.16.0) *custom representation and asserting (foreign) types that do not implement `Debug`* ##### Added - **Breaking**: controlling type formatting in failure reports [(PR #&#8203;96)](https://github.com/innoave/asserting/pull/96)<br> The API for writing custom expectations has changed. It now has an additional parameter 'representation' in many methods. Implementations of the Expectation trait should no longer require implementing `Debug` but instead depend on the `Represent`-trait.<br> Note: This feature does not break anything when using the crate for writing assertions in tests. </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTUuMCIsInVwZGF0ZWRJblZlciI6IjQzLjE5NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->
chore(deps): update rust crate asserting to 0.17.0
Some checks failed
pr / check (pull_request) Successful in 1m6s
pr / test (pull_request) Failing after 1m35s
pr / image (pull_request) Successful in 7m20s
6c8562680d
renovate-bot bot force-pushed renovate/master-asserting-0.x from 6c8562680d
Some checks failed
pr / check (pull_request) Successful in 1m6s
pr / test (pull_request) Failing after 1m35s
pr / image (pull_request) Successful in 7m20s
to 36ea83271a
Some checks failed
pr / check (pull_request) Successful in 1m18s
pr / test (pull_request) Failing after 2m1s
pr / image (pull_request) Successful in 14m0s
2026-11-07 09:41:37 +01:00
Compare
renovate-bot bot force-pushed renovate/master-asserting-0.x from 36ea83271a
Some checks failed
pr / check (pull_request) Successful in 1m18s
pr / test (pull_request) Failing after 2m1s
pr / image (pull_request) Successful in 14m0s
to 641c399e42
Some checks failed
pr / assets (pull_request) Successful in 10s
pr / lint (pull_request) Successful in 10s
pr / check (pull_request) Successful in 31s
pr / test (pull_request) Failing after 47s
pr / image (pull_request) Successful in 9m8s
2026-11-07 10:47:23 +01:00
Compare
lucas requested review from omp-deck 2026-11-12 13:17:01 +01:00
omp-deck left a comment

Version bump alone is not enough: this is a breaking API change for tests/common/assert.rs, and the pr / test job on 641c399 fails with 25 compile errors (run #108). Details and the required migration are in the inline comment. The lockfile change is otherwise clean — chrono, jiff and time only get recorded under asserting's dep list; no new [[package]] entries, so nothing new enters the graph.

Side observation, not for this PR: check passed while the code doesn't compile, because CI runs cargo clippy -- -D warnings (no --all-targets), so test targets are only ever built by the test job.

Version bump alone is not enough: this is a breaking API change for `tests/common/assert.rs`, and the `pr / test` job on 641c399 fails with 25 compile errors (run #108). Details and the required migration are in the inline comment. The lockfile change is otherwise clean — `chrono`, `jiff` and `time` only get recorded under `asserting`'s dep list; no new `[[package]]` entries, so nothing new enters the graph. Side observation, not for this PR: `check` passed while the code doesn't compile, because CI runs `cargo clippy -- -D warnings` (no `--all-targets`), so test targets are only ever built by the `test` job.
@ -32,3 +32,3 @@
[dev-dependencies]
asserting = "0.15.0"
asserting = "0.17.0"
Collaborator

This bump crosses the 0.16.0 "controlling type formatting in failure reports" break and the 0.17.0 module move, both of which hit our custom expectations in tests/common/assert.rs. cargo test on this head fails to compile (25 errors, run #108 job test). The release note's "does not break anything when using the crate for writing assertions" only holds for callers that don't implement Expectation themselves — we do.

What has to change in tests/common/assert.rs for 0.17.0:

  • Expectation<S> → Expectation<S, D>, and fn message gains a representation: &D parameter before format (6 impls: HasHtmlAttr, HasHtmlText, HasHtmlSelector, HasHtmlFilter, HasHtmlCheck, …).
  • Spec is now Spec<'a, S, D, R> (subject, representation, failing strategy), so SpecHtmlExt<'a, R> and its impl … for Spec<'a, Html, R> need the extra representation parameter — that's what makes the has_html_* methods unresolvable on Spec<'_, Html, DebugRepresentation, CollectFailures> in tests/views.rs / tests/web.rs.
  • The marker helpers take a representation argument now: mark_unexpected(value, representation, format), mark_missing(value, representation, format), mark_all_items_in_collection(collection, representation, format, mark_fn), with D: Represent<T> (asserting::representation::{Represent, DebugRepresentation, DisplayRepresentation}). Passing the &DiffFormat as representation is exactly the DiffFormat: Represent<…> error.
  • mark_missing_string / mark_unexpected_string are gone from asserting::colored. For the unquoted output we currently get from them, the equivalent is mark_missing(s, &DisplayRepresentation, format) / mark_unexpected(s, &DisplayRepresentation, format); mark_{unexpected,missing}_substring_in_string exist for the substring case.

For Element values, DebugRepresentation compiles (scraper's Element: Debug) but prints the raw node struct; el.html() with DisplayRepresentation is likely the nicer failure message — your call, since these helpers exist specifically for message quality.

Until that migration lands, this PR can't be merged.

This bump crosses the 0.16.0 "controlling type formatting in failure reports" break and the 0.17.0 module move, both of which hit our custom expectations in `tests/common/assert.rs`. `cargo test` on this head fails to compile (25 errors, run #108 job `test`). The release note's "does not break anything when using the crate for writing assertions" only holds for callers that don't implement `Expectation` themselves — we do. What has to change in `tests/common/assert.rs` for 0.17.0: - `Expectation<S>` → `Expectation<S, D>`, and `fn message` gains a `representation: &D` parameter before `format` (6 impls: `HasHtmlAttr`, `HasHtmlText`, `HasHtmlSelector`, `HasHtmlFilter`, `HasHtmlCheck`, …). - `Spec` is now `Spec<'a, S, D, R>` (subject, representation, failing strategy), so `SpecHtmlExt<'a, R>` and its `impl … for Spec<'a, Html, R>` need the extra representation parameter — that's what makes the `has_html_*` methods unresolvable on `Spec<'_, Html, DebugRepresentation, CollectFailures>` in `tests/views.rs` / `tests/web.rs`. - The marker helpers take a representation argument now: `mark_unexpected(value, representation, format)`, `mark_missing(value, representation, format)`, `mark_all_items_in_collection(collection, representation, format, mark_fn)`, with `D: Represent<T>` (`asserting::representation::{Represent, DebugRepresentation, DisplayRepresentation}`). Passing the `&DiffFormat` as representation is exactly the `DiffFormat: Represent<…>` error. - `mark_missing_string` / `mark_unexpected_string` are gone from `asserting::colored`. For the unquoted output we currently get from them, the equivalent is `mark_missing(s, &DisplayRepresentation, format)` / `mark_unexpected(s, &DisplayRepresentation, format)`; `mark_{unexpected,missing}_substring_in_string` exist for the substring case. For `Element` values, `DebugRepresentation` compiles (scraper's `Element: Debug`) but prints the raw node struct; `el.html()` with `DisplayRepresentation` is likely the nicer failure message — your call, since these helpers exist specifically for message quality. Until that migration lands, this PR can't be merged.
Some checks failed
pr / assets (pull_request) Successful in 10s
Required
Details
pr / lint (pull_request) Successful in 10s
Required
Details
pr / check (pull_request) Successful in 31s
Required
Details
pr / test (pull_request) Failing after 47s
Required
Details
pr / image (pull_request) Successful in 9m8s
Required
Details
This pull request has changes requested by an official reviewer.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 'renovate/master-asserting-0.x:renovate/master-asserting-0.x'
git switch 'renovate/master-asserting-0.x'
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
lucas/logview!11
No description provided.