Можно ли вернуть true, если есть тост - PullRequest
1 голос
/ 08 мая 2019

Если мне нужно проверить, отображается ли тост, я использую это:

viewWithTextResId(server_error).inRoot(ToastMatcher())
                .checkDisplayed()

fun ViewInteraction.checkDisplayed(): ViewInteraction {
    return check(matches(isDisplayed()))
}

class ToastMatcher : TypeSafeMatcher<Root>() {

    override fun describeTo(description: Description) {
        description.appendText("is toast")
    }

    override fun matchesSafely(root: Root): Boolean {
        val type = root.getWindowLayoutParams().get().type
        if (type == WindowManager.LayoutParams.TYPE_TOAST) {
            val windowToken = root.getDecorView().getWindowToken()
            val appToken = root.getDecorView().getApplicationWindowToken()
            if (windowToken === appToken) {
                return true
            }
        }
        return false
    }
}

Отлично, все отлично работает.Но мне нужен тест, который возвращает логическое значение, если toast - show / hide.

...