@@ -56,6 +56,15 @@ private Q_SLOTS:
5656 QTRY_COMPARE(storage->getStage(QTest::currentTestFunction(), 0), stage);
5757 }
5858
59+ void testProtectAgainstInvalidGeometry() {
60+ const QRect geometry{10, 20, 0, 10}; // zero-width (invalid) rectangle
61+ storage->saveGeometry(QTest::currentTestFunction(), geometry);
62+ const QRect defaultGeometry{10, 20, 30, 40};
63+ const QRect loadedGeometry = storage->getGeometry(QTest::currentTestFunction(), defaultGeometry);
64+ // ensure we don't load a broken geometry, instead we fall back to the default one
65+ QCOMPARE(loadedGeometry, defaultGeometry);
66+ }
67+
5968private:
6069 WindowStateStorage * storage{nullptr};
6170};