FlowTurbine is now called ReceiveTurbine. This is the consume-only type with which you assert on events it has seen (historically only from a Flow).
New public Turbine type implements ReceiveTurbine but also allows you write events from a data source. Use this to implement fakes or collect events from non-Flow streams.
Extension functions on ReceiveChannel provide ReceiveTurbine-like assertion capabilities.
Support for legacy JS has been removed. Only JS IR is now supported.
Removed some APIs deprecated in 0.8.x.
0.8.0
Added
New testIn(CoroutineScope) API allows testing multiple flows without nesting lambdas.
New skip(Int) API can replace one or more calls to awaitItem() where the result is not needed.
Changed
Removed timeout parameter. The new runTest API from kotlinx.coroutines enforces a timeout automatically.
Documented that flows are implicitly canceled at the end of the test lambda. This has been the behavior for a few versions by accident, but now it is explicit and documented.
Cancel (and friends) are now suspending functions to ensure that non-canceleable coroutines complete and their effects are observed deterministically.
0.7.0
Changed
Moved APIs using Kotlin's experimental time to separate extensions. You can now use the library
without worrying about incompatibilities with Kotlin version or coroutine library version.
FlowTurbine is now called ReceiveTurbine. This is the consume-only type with which you assert on events it has seen (historically only from a Flow).
New public Turbine type implements ReceiveTurbine but also allows you write events from a data source. Use this to implement fakes or collect events from non-Flow streams.
Extension functions on ReceiveChannel provide ReceiveTurbine-like assertion capabilities.
Support for legacy JS has been removed. Only JS IR is now supported.
Removed some APIs deprecated in 0.8.x.
[0.8.0]
Added
New testIn API allows testing multiple flows without nesting lambdas.
New skip(Int) API can replace one or more calls to awaitItem() where the result is not needed.
Changed
Removed timeout parameter. The new runTest API from kotlinx.coroutines enforces a timeout automatically.
Documented that flows are implicitly canceled at the end of the test lambda. This has been the behavior for a few versions by accident, but now it is explicit and documented.
Cancel (and friends) are now suspending functions to ensure that non-canceleable coroutines complete and their effects are observed deterministically.
[0.7.0]
Changed
Moved APIs using Kotlin's experimental time to separate extensions. You can now use the library
without worrying about incompatibilities with Kotlin version or coroutine library version.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps turbine from 0.6.1 to 0.9.0.
Release notes
Sourced from turbine's releases.
Changelog
Sourced from turbine's changelog.
Commits
c8919d0
Prepare version 0.9.05ea5ba3
Update comments to match new API shapee7f67a4
Restructure Turbine around channels2a93f70
Bump actions/setup-java from 3.4.0 to 3.4.1c84e69e
Delete cancel method on hot flows doc70345b1
Bump actions/setup-java from 3.3.0 to 3.4.07473948
fix testIn documentationdd8d4de
Bump actions/setup-java from 3.2.0 to 3.3.0bbe4938
Prepare next development versiond290b39
Prepare version 0.8.0Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)