RootForTest
-
Cmn
interface RootForTest
ViewRootForTest |
The marker interface to be implemented by the |
The marker interface to be implemented by the root backing the composition. To be used in tests.
Summary
Nested types |
|---|
interface RootForTest.UncaughtExceptionHandlerAn optional error handler that can be set to catch exceptions thrown during the layout, draw, and teardown phases of the associated composition. |
Public functions |
||
|---|---|---|
open Unit |
forceAccessibilityForTesting(enable: Boolean)Force accessibility to be enabled for testing. |
Cmn
|
open Unit |
Requests another layout (measure + placement) pass be performed for any nodes that need it. |
Cmn
|
open Boolean |
@ExperimentalIndirectPointerApiSend this |
Cmn
|
Boolean |
sendKeyEvent(keyEvent: KeyEvent) |
Cmn
|
open Unit |
setAccessibilityEventBatchIntervalMillis(intervalMillis: Long)Set the time interval between sending accessibility events in milliseconds. |
Cmn
|
open Unit |
Sets the |
Cmn
|
Public properties |
||
|---|---|---|
Density |
Current device density. |
Cmn
|
SemanticsOwner |
Semantics owner for this root. |
Cmn
|
TextInputService |
This property is deprecated. Use PlatformTextInputModifierNode instead. |
Cmn
|
Public functions
forceAccessibilityForTesting
open fun forceAccessibilityForTesting(enable: Boolean): Unit
Force accessibility to be enabled for testing.
| Parameters | |
|---|---|
enable: Boolean |
force enable accessibility if true. |
measureAndLayoutForTest
open fun measureAndLayoutForTest(): Unit
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.
sendIndirectPointerEvent
@ExperimentalIndirectPointerApi
open fun sendIndirectPointerEvent(indirectPointerEvent: IndirectPointerEvent): Boolean
Send this IndirectPointerEvent to the focused component in this Owner.
| Returns | |
|---|---|
Boolean |
true if the event was consumed. False otherwise. |
sendKeyEvent
fun sendKeyEvent(keyEvent: KeyEvent): Boolean
Send this KeyEvent to the focused component in this Owner.
| Returns | |
|---|---|
Boolean |
true if the event was consumed. False otherwise. |
setAccessibilityEventBatchIntervalMillis
open fun setAccessibilityEventBatchIntervalMillis(intervalMillis: Long): Unit
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.
setUncaughtExceptionHandler
open fun setUncaughtExceptionHandler(
handler: RootForTest.UncaughtExceptionHandler?
): Unit
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.
Public properties
semanticsOwner
val semanticsOwner: SemanticsOwner
Semantics owner for this root. Manages all the semantics nodes.