RootForTest
interface RootForTest
The marker interface to be implemented by the root backing the composition. To be used in tests.
Properties
val density: Density
Current device density.
val semanticsOwner: SemanticsOwner
Semantics owner for this root. Manages all the semantics nodes.
Deprecated Use PlatformTextInputModifierNode instead.
val textInputService: TextInputService
The service handling text input.
Functions
fun sendKeyEvent(keyEvent: KeyEvent): Boolean
Send this KeyEvent
to the focused component in this Owner
.
Returns
true if the event was consumed. False otherwise. |
@ExperimentalIndirectTouchTypeApi
fun sendIndirectTouchEvent(indirectTouchEvent: IndirectTouchEvent): Boolean
Send this IndirectTouchEvent
to the focused component in this Owner
.
Returns
true if the event was consumed. False otherwise. |
fun forceAccessibilityForTesting(enable: Boolean)
Force accessibility to be enabled for testing.
Parameters
enable | force enable accessibility if true. |
fun setAccessibilityEventBatchIntervalMillis(intervalMillis: Long)
Set the time interval between sending accessibility events in milliseconds.
This is the delay before dispatching a recurring accessibility event in milliseconds. It
delays the loop that sends events to the accessibility and content capture framework in
batches. A recurring event will be sent at most once during the intervalMillis
timeframe.
The default time delay is 100 milliseconds.
fun measureAndLayoutForTest()
Requests another layout (measure + placement) pass be performed for any nodes that need it.
This doesn't force anything to be remeasured that wouldn't be if requestLayout
were called.
However, unlike requestLayout
, it doesn't merely schedule another layout pass to be
performed, it actually performs it synchronously.
This method is used in UI tests to perform layout in between frames when pumping frames as
fast as possible (i.e. without waiting for the choreographer to schedule them) in order to
get to idle, e.g. during a waitForIdle
call.
fun setUncaughtExceptionHandler(handler: UncaughtExceptionHandler?)
Sets the UncaughtExceptionHandler
callback to dispatch layout, measure, and draw exceptions
from this Composition to. If this method is called multiple times, the previous callback is
discarded.
The default test runners that ship with the Compose UI test and associated JUnit variation use this API to reroute exceptions back to the test under execution. Custom test runners may need to associate their own exception handler to do the same. If the Compose UI Test runner's exception handler is overwritten, it may lead to unhandled exceptions crashing the instrumented process and terminating the entire test suite early.