Small improvements to dialogScreenshotTest {}

This CL disables the enter/exit animations of the dialog about to be
screenshot tested, and ensures that the dialog is dismissed at the end
of the test.

Test: atest SystemUIGoogleScreenshotTests
Bug: 230832101
Change-Id: I30e26411042bc42181cab38ec706b8ed2a2808f7
This commit is contained in:
Jordan Demeulenaere
2022-06-30 13:02:31 +02:00
parent df74b6ddbc
commit 61d27419aa

View File

@@ -60,11 +60,17 @@ class ViewScreenshotTestRule(testSpec: ScreenshotTestSpec) : TestRule {
) {
var dialog: Dialog? = null
activityRule.scenario.onActivity { activity ->
// Make sure that the dialog draws full screen and fits the whole display instead of the
// system bars.
dialog =
dialogProvider(activity).apply {
// Make sure that the dialog draws full screen and fits the whole display
// instead of the system bars.
window.setDecorFitsSystemWindows(false)
// Disable enter/exit animations.
create()
window.setWindowAnimations(0)
// Show the dialog.
show()
}
}
@@ -74,7 +80,11 @@ class ViewScreenshotTestRule(testSpec: ScreenshotTestSpec) : TestRule {
activityRule.scenario.onActivity {
// Check that the content is what we expected.
val dialog = dialog ?: error("dialog is null")
screenshotRule.screenshotTest(goldenIdentifier, dialog.window.decorView)
try {
screenshotRule.screenshotTest(goldenIdentifier, dialog.window.decorView)
} finally {
dialog.dismiss()
}
}
}
}