You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace Expect::that() with Expect::value() for values or Expect::calling() for calls. Value expectations never execute their subject. (#1949)
Replace Expect::eventually() and Expect::consistently() with call chains such as Expect::calling($probe)->returnValue()->eventually()->within($seconds). Use ->consistently()->for($seconds) for continuous checks. (#1949)
Features
Use the functional API with use function Greenlight\expect: expect($value) checks values and expect()->calling($callback) checks calls. The runner loads the helper automatically. Outside the runner, load src/Expect/functions.php explicitly after the Composer autoloader. (#1949)
Check call results with toReturn() or select them with returnValue(). Call expectations also support immediate and temporal toThrow() checks. (#1949)
Bug Fixes
Reject infinite subjects in toBeWithin(), including when a tolerance boundary overflows. (#1922)
Return absolute paths for newly created temporary roots so cleanup still works after the working directory changes. (#1921)
Performance Improvements
Prepare test listings in linear time when the saved run contains many failed test IDs. (#1918)
Limit UTF-8 conversion work for large captured writes, including malformed input. (#1920)