# WindowSdkExtensionsRule

Artifact: [androidx.window:window-testing](https://developer.android.com/jetpack/androidx/releases/window) [View Source](https://cs.android.com/search?q=file:androidx/window/testing/WindowSdkExtensionsRule.kt+class:androidx.window.testing.WindowSdkExtensionsRule) Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)

*** ** * ** ***


```
class WindowSdkExtensionsRule : TestRule
```

<br />

*** ** * ** ***

`https://junit.org/junit4/javadoc/latest/org/junit/rules/TestRule.html` for overriding `https://developer.android.com/reference/kotlin/androidx/window/WindowSdkExtensions` properties in unit tests.

The `https://junit.org/junit4/javadoc/latest/org/junit/rules/TestRule.html` is designed to only be used in unit tests. Users should use the actual `https://developer.android.com/reference/kotlin/androidx/window/WindowSdkExtensions` properties for instrumentation tests. Overriding the device's extensions version to a higher version may lead to unexpected test failures or even app crash.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/window/testing/WindowSdkExtensionsRule#WindowSdkExtensionsRule()()` |

| ### Public functions |
|---|---|
| `open https://junit.org/junit4/javadoc/latest/org/junit/runners/model/Statement.html` | `https://developer.android.com/reference/kotlin/androidx/window/testing/WindowSdkExtensionsRule#apply(org.junit.runners.model.Statement,org.junit.runner.Description)(base: https://junit.org/junit4/javadoc/latest/org/junit/runners/model/Statement.html, description: https://junit.org/junit4/javadoc/latest/org/junit/runner/Description.html)` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/window/testing/WindowSdkExtensionsRule#overrideExtensionVersion(kotlin.Int)(version: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Overrides the `https://developer.android.com/reference/kotlin/androidx/window/WindowSdkExtensions#extensionVersion()` for testing. |

## Public constructors

### WindowSdkExtensionsRule

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)

```
WindowSdkExtensionsRule()
```

## Public functions

### apply

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)

```
open fun apply(base: Statement, description: Description): Statement
```

### overrideExtensionVersion

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)

```
fun overrideExtensionVersion(version: @IntRange(from = 0) Int): Unit
```

Overrides the `https://developer.android.com/reference/kotlin/androidx/window/WindowSdkExtensions#extensionVersion()` for testing.

| Parameters |
|---|---|
| `version: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The extension version to override. |