diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2020-09-25 18:58:44 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2020-09-28 13:46:35 (GMT) |
commit | 7cd95d99965bf59e2ba8e5cb2835fb9d5d1b3abe (patch) | |
tree | 0b357ab71c21fa4bb521c42a2aed2cfb01e5853b /Tests/CMakeGUI/CatchShowTest.cxx | |
parent | 1b03ac7da76c05bfa60e5fcf95aa2bfdf64f27cf (diff) | |
download | CMake-7cd95d99965bf59e2ba8e5cb2835fb9d5d1b3abe.zip CMake-7cd95d99965bf59e2ba8e5cb2835fb9d5d1b3abe.tar.gz CMake-7cd95d99965bf59e2ba8e5cb2835fb9d5d1b3abe.tar.bz2 |
Tests: Add CatchShow helper for CMake GUI tests
Diffstat (limited to 'Tests/CMakeGUI/CatchShowTest.cxx')
-rw-r--r-- | Tests/CMakeGUI/CatchShowTest.cxx | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Tests/CMakeGUI/CatchShowTest.cxx b/Tests/CMakeGUI/CatchShowTest.cxx new file mode 100644 index 0000000..acea8ea --- /dev/null +++ b/Tests/CMakeGUI/CatchShowTest.cxx @@ -0,0 +1,49 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#include "CatchShowTest.h" + +#include <QMessageBox> +#include <QtTest> + +#include "CatchShow.h" + +CatchShowTest::CatchShowTest(QObject* parent) + : QObject(parent) +{ +} + +void CatchShowTest::catchShow() +{ + bool have = false; + CatchShow catcher; + catcher.setCallback<QMessageBox>([&have](QMessageBox* box) { + have = true; + box->accept(); + }); + + QCOMPARE(catcher.count(), 0); + QCOMPARE(have, false); + + { + QDialog dialog; + dialog.show(); + QCOMPARE(catcher.count(), 0); + QCOMPARE(have, false); + } + + { + have = false; + QMessageBox::critical(nullptr, "Error", "This is an error"); + QCOMPARE(catcher.count(), 1); + QCOMPARE(have, true); + } + + { + have = false; + QMessageBox::information(nullptr, "Info", "This is information"); + QCOMPARE(catcher.count(), 2); + QCOMPARE(have, true); + } +} + +QTEST_MAIN(CatchShowTest) |