Есть ли проверка Espresso на состояние BottomSheetBehavior? - PullRequest
0 голосов
/ 03 августа 2020

Есть ли в Espresso возможность проверить состояние BottomSheetBehavior? Например, я хотел бы иметь возможность написать следующий код, чтобы проверить, что BottomSheetBehavior, прикрепленный к myLayout, имеет состояние BottomSheetBehavior.STATE_COLLAPSED:

onView(withId(R.id.myLayout)).check(matches(hasBottomSheetBehaviorState(BottomSheetBehavior.STATE_COLLAPSED)))

Есть ли какие-нибудь сопоставители эспрессо для Layout s BottomSheetBehavior?

1 Ответ

0 голосов
/ 03 августа 2020

Я не смог найти существующий Matcher, но смог написать тот, который, кажется, работает в этом случае. Вот hasBottomSheetBehaviorState в Kotlin:

fun hasBottomSheetBehaviorState(expectedState: Int): Matcher<in View>? {
    return object : BoundedMatcher<View, View>(View::class.java) {
        override fun describeTo(description: Description) {
            description.appendText("has BottomSheetBehavior state $expectedState")
        }

        override fun matchesSafely(view: View): Boolean {
            val bottomSheetBehavior = BottomSheetBehavior.from(view)
            return expectedState == bottomSheetBehavior.state
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...