Releases: cashapp/turbine
Releases · cashapp/turbine
1.2.1
Changed
- In-development snapshots are now published to the Central Portal Snapshots repository at https://central.sonatype.com/repository/maven-snapshots/.
Fixed
- Calling
testInwith aCoroutineScopethat does not contain aJobno longer throwsIllegalStateException.
1.2.0
Added
- Add
wasmWasitarget.
1.1.0
Changed
- Add
wasmJstarget, removeiosArm32andwatchosX86targets. - Throw unconsumed events if scope is externally canceled.
1.0.0
Added
- Add
turbineScopeDSL function which is now required for usingtestIn. This ensures that exceptions which occur within the test are no longer potentially lost.
Changed
- Failed
Turbines which occur while testing aFlow(usingtest { }) will now have their failures eagerly reported. - Build with Kotlin 1.8.22 and kotlinx.coroutines 1.7.1. Note: Future releases will not highlight the Kotlin or coroutines version unless important for some other reason.
0.13.0
Added
- New Kotlin/Native targets:
androidNativeArm32androidNativeArm64androidNativeX86androidNativeX64linuxArm64watchosDeviceArm64
Changed
- Build with Kotlin 1.8.21
Note: This version has a transitive dependency on kotlinx.coroutines 1.7.0. If you are an Android user, you should be depending on kotlinx.coroutines 1.7.1 which graciously fixes a binary incompatibility with a Compose testing artifact (because they failed to heed its opt-in annotation which indicated that it was not a stable API).
0.12.3
Fixed
- Ensure JVM classes target Java 8 rather than implicitly using the build JDK version.
0.12.2
Changed
- The default wall-clock timeout used to wait for an event has been increased from 1s to 3s.
Fixed
- The exception thrown when no events have been received now includes the original timeout exception as its cause. This ensures the stacktrace contains the caller file and line information.
- Ensure
expectNoEvents()fails if a completion or exception event occurred. - Differentiate timeout and cancellation exceptions thrown from Turbine's own event timeout (which are thrown) from those which occur within the flow under test (which are available via
awaitError()).
0.12.1
Changed
- Build with Kotlin 1.7.20
Fixed
takeItem()no longer throws an exception when returning anullvalue.await-prefixed methods no longer interfere with virtual time control from aTestScheduler(such as insiderunTest).
0.12.0
Added
- Support specifying a human-readable name for differentiating the failures of multiple Turbines
Fixed
- Properly catch all
Throwablesubtypes from failures in flows and channels as events.
0.11.0
Added
- Restore timeout support. By default a 1-second timeout will be enforced when awaiting an event. This can be customized by supplying a
timeoutargument or by using thewithTurbineTimeoutwrapper function. Timeouts will always use wall clock time even when using a virtual time dispatcher.
Changed
- When
runTest(or anyTestCoroutineScheduler) is in use, switch to theUnconfinedTestSchedulerinternally to ensure virtual time remains working.