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