on xenial help sign in
suspend+reboot also gives you the screenshot
commit6f9be79c13b4f43ccf4748cc997657256e90f07f authorAlbert Astals Cid <albert.astals@canonical.com> dateThu 23 Apr 2015, 16:04 (11 years ago) parent7192150
2 files changed+34−1
plugins/SessionScreenshoter/sessionscreenshoter.cpp−1 tests/qmltests/Stages/tst_ApplicationWindow.qml+34
plugins/SessionScreenshoter/sessionscreenshoter.cpp−1
@@ -31,7 +31,6 @@ SessionScreenshoter::SessionScreenshoter(QObject *parent)
3131 : QObject(parent),
3232 m_target(nullptr)
3333{
34− // TODO tests
3534}
3635
3736QString SessionScreenshoter::appId() const
tests/qmltests/Stages/tst_ApplicationWindow.qml+34
@@ -343,6 +343,40 @@ Rectangle {
343343 tryCompare(screenshotImage, "status", Image.Null);
344344 }
345345
346+ function test_suspendrestartApp() {
347+ var screenshotImage = findChild(applicationWindowLoader.item, "screenshotImage");
348+
349+ initSession();
350+ setApplicationState(appRunning);
351+ tryCompare(stateGroup, "state", "surface");
352+ waitUntilTransitionsEnd();
353+
354+ setApplicationState(appSuspended);
355+
356+ cleanupSession();
357+
358+ tryCompare(stateGroup, "state", "screenshot");
359+ waitUntilTransitionsEnd();
360+ tryCompare(fakeApplication, "session", null);
361+
362+ // and restart it
363+ setApplicationState(appStarting);
364+
365+ waitUntilTransitionsEnd();
366+ verify(stateGroup.state === "screenshot");
367+ verify(fakeSession === null);
368+
369+ setApplicationState(appRunning);
370+
371+ waitUntilTransitionsEnd();
372+ verify(stateGroup.state === "screenshot");
373+
374+ initSession();
375+
376+ tryCompare(stateGroup, "state", "surface");
377+ tryCompare(screenshotImage, "status", Image.Null);
378+ }
379+
346380 function test_appCrashed() {
347381 initSession();
348382 setApplicationState(appRunning);