summaryrefslogtreecommitdiffstats
path: root/tests/auto/testlib/selftests/warnings
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/testlib/selftests/warnings')
-rw-r--r--tests/auto/testlib/selftests/warnings/tst_warnings.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/testlib/selftests/warnings/tst_warnings.cpp b/tests/auto/testlib/selftests/warnings/tst_warnings.cpp
index c113fdaf25..3dd9a7afe2 100644
--- a/tests/auto/testlib/selftests/warnings/tst_warnings.cpp
+++ b/tests/auto/testlib/selftests/warnings/tst_warnings.cpp
@@ -27,6 +27,7 @@ private slots:
void testFailOnWarningsThenSkip();
#endif
void testFailOnWarningsAndIgnoreWarnings();
+ void testFailOnTemporaryObjectDestruction();
};
void tst_Warnings::testWarnings()
@@ -208,6 +209,27 @@ void tst_Warnings::testFailOnWarningsAndIgnoreWarnings()
qWarning(warningStr);
}
+void tst_Warnings::testFailOnTemporaryObjectDestruction()
+{
+ QTest::failOnWarning("Running low on toothpaste!");
+ QTest::ignoreMessage(QtWarningMsg, "Ran out of cabbage!");
+
+ class TestObject : public QObject
+ {
+ public:
+ ~TestObject()
+ {
+ // Shouldn't fail - ignored
+ qWarning("Ran out of cabbage!");
+ // Should fail
+ qWarning("Running low on toothpaste!");
+ }
+ };
+
+ QScopedPointer<TestObject, QScopedPointerDeleteLater> testObject(new TestObject);
+ QVERIFY(testObject);
+}
+
QTEST_MAIN(tst_Warnings)
#include "tst_warnings.moc"