Skip to content

Releases: rasuvaeff/understudy-testo

v0.3.5

Choose a tag to compare

@github-actions github-actions released this 19 Sep 20:51
de86180
  • Changed. Accepts rasuvaeff/understudy ^0.12 alongside ^0.9 || ^0.10 || ^0.11: the engine's 0.12.0 runs a specification closure exactly once (the nested-call probe that re-ran it is gone) and refuses two calls side by side as it does a nested pair; this package reads neither, so the bridge is widened, not moved.

v0.3.4

Choose a tag to compare

@github-actions github-actions released this 18 Sep 06:55
710885d
  • Changed. Accepts rasuvaeff/understudy ^0.11 alongside ^0.9 || ^0.10: the engine's 0.11.0 adds a refusal where there was a fatal, a nested-call check and a returns() type check, none of which this package reads; the bridge is widened, not moved. The returns() check found one in this package's own Fiber fixture — returns(true) on a : void gate — which is now the plain expect() it meant.

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 06 Sep 09:47
112422b
  • Requires rasuvaeff/understudy ^0.9 || ^0.10. The engine's 0.10 closes six
    defects of the 1.0 review, the widest of them being that an optional
    parameter no longer has to be spelled in a specification: when(fn () => $repository->find(1)) now matches a contract whose remaining parameters
    carry defaults, and an unspelled position is rendered as … in reports so
    it is never mistaken for a written any(). Nothing this adapter does changes
    — the arity suppression it carries is about Arg::rest(), which still
    covers the contract's required parameters and only those.
  • Drops the ^0.8 term, as 0.3.2 said it would in the release that
    follows the engine's.

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 05 Sep 17:52
cfadaaf
  • Completes the public method summaries for UnderstudyInterceptor and
    UnderstudyPlugin and keeps the generated family reference current.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 05 Sep 13:17
cb5eae3
  • Allows rasuvaeff/understudy ^0.8 || ^0.9. A bridge, not a widening for
    its own sake: the engine's 0.9 is the 1.0 candidate — every contract decision
    of the 1.0 review lands there, and 1.0 follows once it has been driven by real
    packages — and a project taking it must be able to keep this adapter without
    a window in which composer require silently installs the 0.8 engine beside
    it. The ^0.8 term is dropped in the release that follows the engine's. This
    package itself stays on 0.x until Testo reaches 1.0, because
    UnderstudyPlugin implements a Testo interface whose signature names an
    Internal\ class.
  • infection/infection moves to ^0.35, the monorepo's single-major form.
  • Both READMEs and llms.txt stop dating engine behaviour («understudy 0.4+»
    beside lean(), «the engine from 0.3.0 refuses»): with a floor of ^0.8
    every engine this adapter installs beside behaves that way.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 05 Sep 11:02
1dcbe6d
  • Requires rasuvaeff/understudy ^0.8, and requires it as a single term. The
    accumulating union it carried (^0.4 || ^0.5 || …) had to be widened by hand
    on every core release, and a package that misses one becomes uninstallable
    beside its own engine.
  • The runner's "this test made no assertion" check is no longer disabled for
    the whole suite.
    Verification recorded a success for every completed test
    and added an assertion to it, after which the narrow rule that takes back a
    Risky verdict — "our record is the only one in the history" — held for
    tests that had never touched understudy. Installing this adapter for one
    clear place of verification silently cost the project a runner check across
    every test, including ones written before the adapter. A test that created no
    double is now left alone entirely.
  • Both READMEs and llms.txt stop pointing at Understudy::strict($double) as
    the per-double form of strict stubs. It is strict dispatch — "fail on any
    call no expectation matched" — and says nothing about a stub that was
    configured and never called; the per-double equivalent is
    when(…)->times(n).
  • Both READMEs and llms.txt say that verification runs after your teardown
    here and before it under understudy-phpunit, so a test whose expectation
    is fulfilled by teardown itself passes in one runner and fails in the other.
  • llms.txt mentions that UnderstudyInterceptor takes the same strictStubs
    argument as UnderstudyPlugin.

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 04 Sep 10:03
9f944b8
  • Documentation review fixes. Both READMEs gained the missing Security
    section and now list testo/assert in Requirements. AGENTS.md no longer
    links to the retired _plans/UNDERSTUDY-PLAN.md. llms.txt header matches
    the family form.

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 04 Sep 08:09
66b5c02
  • Allow rasuvaeff/understudy ^0.7. Widened rather than raised.
  • The claim that a benchmark is reset but never verified is a test now.
    AGENTS.md stated it and nothing checked it — and it is the half that has
    broken before: the scope used to be an InterceptorOptions(testType:)
    filter, which skipped the reset too, so a #[TestInline] double survived
    into the next plain test. The test drives runTest() with each
    TestType that is not a plain test, which is where the decision is read;
    a real #[Bench] fixture would be measuring Testo's benchmark runner
    instead of this adapter.
  • examples/lifecycle.php is part of composer build, and its checks throw
    instead of using assert() — which is compiled out under
    zend.assertions=-1, so the example silently stopped checking anything.
    The sibling understudy-phpunit already worked this way.
  • The Seams fixture's data provider follows the <method>Provider
    convention, and every fixture carries @internal — some did, some did not.

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 04 Sep 06:43
962eb66
  • Allow rasuvaeff/understudy ^0.6. Widened rather than raised: the adapter
    works against both 0.5 and 0.6, and consumers on 0.5 should not be cut off
    from it.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 18:26
e21a16c

A minor rather than a patch: the floor on rasuvaeff/understudy moves to
^0.5, which Composer's caret already treats as breaking on 0.x.

  • Requires rasuvaeff/understudy ^0.5. The wide range this package
    carried was worth keeping while it needed nothing newer; it now does. The
    fixture below states a claim that is only true of core 0.5.0, and against an
    older engine it would either assert the opposite or have to be skipped —
    which is a claim verified nowhere near the floor. Nobody is stranded:
    0.1.4 works against every core from 0.1 to 0.5 and carries the same adapter.
  • An integration fixture pins scope isolation from this side of the boundary:
    an enclosing expectation left open, a complete nested Understudy::scope(),
    and the enclosing call after it. The interceptor asks the global
    Understudy::verifyAll() from a teardown position, which is the shape the
    defect fixed in core 0.5.0 took in practice, and nothing here could see it
    until core 0.5.0 was installable. (#14)