ctkMessageBoxDontShowAgainTest.cpp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531
  1. /*=========================================================================
  2. Library: CTK
  3. Copyright (c) Kitware Inc.
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0.txt
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. =========================================================================*/
  14. // Qt includes
  15. #include <QApplication>
  16. #include <QCheckBox>
  17. #include <QSettings>
  18. #include <QStyle>
  19. #include <QTimer>
  20. // CTK includes
  21. #include "ctkMessageBox.h"
  22. #include "ctkTest.h"
  23. // STD includes
  24. #include <cstdlib>
  25. #include <iostream>
  26. Q_DECLARE_METATYPE(QMessageBox::StandardButton);
  27. Q_DECLARE_METATYPE(QMessageBox::ButtonRole);
  28. // ----------------------------------------------------------------------------
  29. class ctkMessageBoxDontShowAgainTester: public QObject
  30. {
  31. Q_OBJECT
  32. void testExecMessageBox(ctkMessageBox& messageBox);
  33. private Q_SLOTS:
  34. void initTestCase();
  35. void init();
  36. void cleanup();
  37. // Check default values of ctkMessageBox
  38. void testDefaults();
  39. // Ensure the "dont's show again" checkbox works correctly with 1 button (Ok)
  40. void testDontShowAgain();
  41. void testDontShowAgain_data();
  42. // Ensure the "dont's show again" checkbox works correctly with 2 buttons
  43. // Ok and Cancel
  44. void testOkCancel();
  45. void testOkCancel_data();
  46. // Test Settings key with 1 button (Ok)
  47. void testDontShowAgainSettingsKey();
  48. void testDontShowAgainSettingsKey_data();
  49. // Test with 2 buttons (Ok and Cancel)
  50. void testDontShowAgainSettingsKeyOkCancel();
  51. void testDontShowAgainSettingsKeyOkCancel_data();
  52. // Check "Don't show again" before the the dialog is shown.
  53. // -> doesn't show the dialog.
  54. void testDontShowAgainSettingsKeySetDontShowAgain();
  55. void testDontShowAgainSettingsKeySetDontShowAgain_data();
  56. // After the dialog is shown, simulate a click on the
  57. // "don't show again" checkbox.
  58. void testDontShowAgainSettingsKeyClickDontShowAgain();
  59. void testDontShowAgainSettingsKeyClickDontShowAgain_data();
  60. // static utility function
  61. void testConfirmExit();
  62. void testConfirmExit_data();
  63. // test the visibility cases();
  64. void testVisible();
  65. //void testCustomButton();
  66. };
  67. // ----------------------------------------------------------------------------
  68. void ctkMessageBoxDontShowAgainTester::initTestCase()
  69. {
  70. // Setup QApplication for settings
  71. qApp->setOrganizationName("CommonToolKit");
  72. qApp->setOrganizationDomain("www.commontk.org");
  73. qApp->setApplicationName("CTK");
  74. }
  75. // ----------------------------------------------------------------------------
  76. void ctkMessageBoxDontShowAgainTester::init()
  77. {
  78. QSettings settings;
  79. settings.setValue("Show", int(QMessageBox::InvalidRole));
  80. settings.setValue("DontShowWithOkButton", int(QMessageBox::Ok));
  81. settings.setValue("DontShowWithAcceptRole", int(QMessageBox::AcceptRole));
  82. settings.setValue("DontShowWithCancelButton", int(QMessageBox::Cancel));
  83. settings.setValue("DontShowWithRejectRole", int(QMessageBox::RejectRole));
  84. }
  85. // ----------------------------------------------------------------------------
  86. void ctkMessageBoxDontShowAgainTester::cleanup()
  87. {
  88. QSettings settings;
  89. settings.clear();
  90. }
  91. // ----------------------------------------------------------------------------
  92. void ctkMessageBoxDontShowAgainTester::testDefaults()
  93. {
  94. ctkMessageBox messageBox;
  95. QCOMPARE(messageBox.isDontShowAgainVisible(), false);
  96. QCOMPARE(messageBox.dontShowAgain(), false);
  97. QCOMPARE(messageBox.dontShowAgainSettingsKey(), QString());
  98. QCOMPARE(messageBox.buttons().size(), 0);
  99. QCOMPARE(messageBox.standardButtons(), QMessageBox::NoButton);
  100. messageBox.show();
  101. qApp->processEvents();
  102. QCOMPARE(messageBox.buttons().size(), 1);
  103. QCOMPARE(messageBox.standardButtons(), QMessageBox::Ok);
  104. }
  105. // ----------------------------------------------------------------------------
  106. void ctkMessageBoxDontShowAgainTester::testExecMessageBox(ctkMessageBox& messageBox)
  107. {
  108. QFETCH(int, buttonOrRole);
  109. if (buttonOrRole != QMessageBox::InvalidRole)
  110. {
  111. if (messageBox.standardButtons() == QMessageBox::NoButton &&
  112. messageBox.buttons().size() == 0)
  113. {
  114. messageBox.addButton(QMessageBox::Ok);
  115. }
  116. if (messageBox.standardButtons() & buttonOrRole)
  117. {
  118. QAbstractButton* button = messageBox.button(
  119. static_cast<QMessageBox::StandardButton>(buttonOrRole));
  120. QVERIFY(button);
  121. QTimer::singleShot(0, button, SLOT(click()));
  122. }
  123. else
  124. {
  125. const char* slot = 0;
  126. if (buttonOrRole == QMessageBox::AcceptRole)
  127. {
  128. slot = SLOT(accept());
  129. }
  130. else if (buttonOrRole == QMessageBox::RejectRole)
  131. {
  132. slot = SLOT(reject());
  133. }
  134. QTimer::singleShot(0, &messageBox, slot);
  135. }
  136. }
  137. // shouldn't hang
  138. int execResult = messageBox.exec();
  139. QFETCH(int, result);
  140. QCOMPARE(execResult, result);
  141. QFETCH(QMessageBox::ButtonRole, resultRole);
  142. QCOMPARE(messageBox.buttonRole(messageBox.clickedButton()), resultRole);
  143. }
  144. // ----------------------------------------------------------------------------
  145. void ctkMessageBoxDontShowAgainTester::testDontShowAgain()
  146. {
  147. ctkMessageBox messageBox;
  148. QFETCH(bool, visible);
  149. messageBox.setDontShowAgainVisible(visible);
  150. QFETCH(bool, dontShowAgain);
  151. messageBox.setDontShowAgain(dontShowAgain);
  152. this->testExecMessageBox(messageBox);
  153. }
  154. // ----------------------------------------------------------------------------
  155. void ctkMessageBoxDontShowAgainTester::testDontShowAgain_data()
  156. {
  157. QTest::addColumn<bool>("visible");
  158. QTest::addColumn<bool>("dontShowAgain");
  159. QTest::addColumn<int>("buttonOrRole");
  160. QTest::addColumn<int>("result");
  161. QTest::addColumn<QMessageBox::ButtonRole>("resultRole");
  162. QTest::newRow("invisible dont show") << false << true << int(QMessageBox::InvalidRole) << int(QMessageBox::Ok) << QMessageBox::AcceptRole;
  163. QTest::newRow("visible dont show") << true << true << int(QMessageBox::InvalidRole) << int(QMessageBox::Ok) << QMessageBox::AcceptRole;
  164. QTest::newRow("invisible show click ok") << false << false << int(QMessageBox::Ok) << int(QMessageBox::Ok) << QMessageBox::AcceptRole;
  165. QTest::newRow("visible show click ok") << true << false << int(QMessageBox::Ok) << int(QMessageBox::Ok) << QMessageBox::AcceptRole;
  166. QTest::newRow("invisible show accept") << false << false << int(QMessageBox::AcceptRole) << int(QDialog::Accepted) << QMessageBox::InvalidRole;
  167. QTest::newRow("visible show accept") << true << false << int(QMessageBox::AcceptRole) << int(QDialog::Accepted) << QMessageBox::InvalidRole;
  168. }
  169. // ----------------------------------------------------------------------------
  170. void ctkMessageBoxDontShowAgainTester::testOkCancel()
  171. {
  172. ctkMessageBox messageBox;
  173. messageBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
  174. QFETCH(bool, visible);
  175. messageBox.setDontShowAgainVisible(visible);
  176. QFETCH(bool, dontShowAgain);
  177. messageBox.setDontShowAgain(dontShowAgain);
  178. this->testExecMessageBox(messageBox);
  179. }
  180. // ----------------------------------------------------------------------------
  181. void ctkMessageBoxDontShowAgainTester::testOkCancel_data()
  182. {
  183. this->testDontShowAgain_data();
  184. QTest::newRow("invisible show click cancel") << false << false << int(QMessageBox::Cancel) << int(QMessageBox::Cancel) << QMessageBox::RejectRole;
  185. QTest::newRow("visible show click cancel") << true << false << int(QMessageBox::Cancel) << int(QMessageBox::Cancel) << QMessageBox::RejectRole;
  186. QTest::newRow("invisible show reject") << false << false << int(QMessageBox::RejectRole) << int(QMessageBox::Rejected) << QMessageBox::InvalidRole;
  187. QTest::newRow("visible show click cancel") << true << false << int(QMessageBox::RejectRole) << int(QMessageBox::Rejected) << QMessageBox::InvalidRole;
  188. }
  189. // ----------------------------------------------------------------------------
  190. void ctkMessageBoxDontShowAgainTester::testDontShowAgainSettingsKey()
  191. {
  192. ctkMessageBox messageBox;
  193. QFETCH(bool, visible);
  194. messageBox.setDontShowAgain(visible);
  195. QFETCH(QString, key);
  196. messageBox.setDontShowAgainSettingsKey(key);
  197. QCOMPARE(messageBox.dontShowAgainSettingsKey(), key);
  198. QFETCH(bool, dontShowAgain);
  199. QCOMPARE(messageBox.dontShowAgain(), dontShowAgain);
  200. this->testExecMessageBox(messageBox);
  201. QSettings settings;
  202. QFETCH(int, keyValue);
  203. QCOMPARE(settings.value(key).toInt(), keyValue);
  204. }
  205. // ----------------------------------------------------------------------------
  206. void ctkMessageBoxDontShowAgainTester::testDontShowAgainSettingsKey_data()
  207. {
  208. QTest::addColumn<bool>("visible");
  209. QTest::addColumn<QString>("key");
  210. QTest::addColumn<bool>("dontShowAgain");
  211. QTest::addColumn<int>("buttonOrRole");
  212. QTest::addColumn<int>("result");
  213. QTest::addColumn<QMessageBox::ButtonRole>("resultRole");
  214. QTest::addColumn<int>("keyValue");
  215. QTest::newRow("invisible NonExistingKey")
  216. << false << "NonExistingKey" << false << int(QMessageBox::Ok)
  217. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  218. << int(QMessageBox::InvalidRole);
  219. QTest::newRow("visible NonExistingKey")
  220. << true << "NonExistingKey" << false << int(QMessageBox::Ok)
  221. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  222. << int(QMessageBox::InvalidRole);
  223. QTest::newRow("invisible Show")
  224. << false << "Show" << false << int(QMessageBox::Ok)
  225. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  226. << int(QMessageBox::InvalidRole);
  227. QTest::newRow("visible Show")
  228. << true << "Show" << false << int(QMessageBox::Ok)
  229. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  230. << int(QMessageBox::InvalidRole);
  231. QTest::newRow("invisible DontShow Ok")
  232. << false << "DontShowWithOkButton" << true << int(QMessageBox::InvalidRole)
  233. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  234. << int(QMessageBox::Ok);
  235. QTest::newRow("visible DontShow Ok")
  236. << true << "DontShowWithOkButton" << true << int(QMessageBox::InvalidRole)
  237. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  238. << int(QMessageBox::Ok);
  239. QTest::newRow("invisible DontShow Accept")
  240. << false << "DontShowWithAcceptRole" << true << int(QMessageBox::InvalidRole)
  241. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  242. << int(QMessageBox::Ok);
  243. QTest::newRow("visible DontShow Accept")
  244. << true << "DontShowWithAcceptRole" << true << int(QMessageBox::InvalidRole)
  245. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  246. << int(QMessageBox::Ok);
  247. }
  248. // ----------------------------------------------------------------------------
  249. void ctkMessageBoxDontShowAgainTester::testDontShowAgainSettingsKeyOkCancel()
  250. {
  251. ctkMessageBox messageBox;
  252. messageBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
  253. QFETCH(bool, visible);
  254. messageBox.setDontShowAgain(visible);
  255. QFETCH(QString, key);
  256. messageBox.setDontShowAgainSettingsKey(key);
  257. QCOMPARE(messageBox.dontShowAgainSettingsKey(), key);
  258. QFETCH(bool, dontShowAgain);
  259. QCOMPARE(messageBox.dontShowAgain(), dontShowAgain);
  260. this->testExecMessageBox(messageBox);
  261. QSettings settings;
  262. QFETCH(int, keyValue);
  263. QCOMPARE(settings.value(key).toInt(), keyValue);
  264. }
  265. // ----------------------------------------------------------------------------
  266. void ctkMessageBoxDontShowAgainTester::testDontShowAgainSettingsKeyOkCancel_data()
  267. {
  268. this->testDontShowAgainSettingsKey_data();
  269. QTest::newRow("invisible DontShow Cancel")
  270. << false << "DontShowWithCancelButton" << true << int(QMessageBox::InvalidRole)
  271. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  272. << int(QMessageBox::Cancel);
  273. QTest::newRow("visible DontShow Cancel")
  274. << true << "DontShowWithCancelButton" << true << int(QMessageBox::InvalidRole)
  275. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  276. << int(QMessageBox::Cancel);
  277. QTest::newRow("invisible DontShow Reject")
  278. << false << "DontShowWithRejectRole" << true << int(QMessageBox::InvalidRole)
  279. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  280. << int(QMessageBox::RejectRole);
  281. QTest::newRow("visible DontShow Reject")
  282. << true << "DontShowWithRejectRole" << true << int(QMessageBox::InvalidRole)
  283. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  284. << int(QMessageBox::RejectRole);
  285. }
  286. // ----------------------------------------------------------------------------
  287. void ctkMessageBoxDontShowAgainTester::testDontShowAgainSettingsKeySetDontShowAgain()
  288. {
  289. ctkMessageBox messageBox;
  290. messageBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
  291. QFETCH(QString, key);
  292. messageBox.setDontShowAgainSettingsKey(key);
  293. QCOMPARE(messageBox.dontShowAgainSettingsKey(), key);
  294. QFETCH(bool, dontShowAgain);
  295. messageBox.setDontShowAgain(dontShowAgain);
  296. this->testExecMessageBox(messageBox);
  297. QSettings settings;
  298. QFETCH(int, keyValue);
  299. QCOMPARE(settings.value(key).toInt(), keyValue);
  300. }
  301. // ----------------------------------------------------------------------------
  302. void ctkMessageBoxDontShowAgainTester::testDontShowAgainSettingsKeySetDontShowAgain_data()
  303. {
  304. QTest::addColumn<QString>("key");
  305. QTest::addColumn<bool>("dontShowAgain");
  306. QTest::addColumn<int>("buttonOrRole");
  307. QTest::addColumn<int>("result");
  308. QTest::addColumn<QMessageBox::ButtonRole>("resultRole");
  309. QTest::addColumn<int>("keyValue");
  310. // Doesn't have time to click on anything, the dialog is already skipped
  311. QTest::newRow("NonExistingKey dont show again")
  312. << "NonExistingKey" << true << int(QMessageBox::InvalidRole)
  313. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  314. << int(QMessageBox::Ok);
  315. QTest::newRow("Show dont show again accept")
  316. << "Show" << true << int(QMessageBox::InvalidRole)
  317. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  318. << int(QMessageBox::Ok);
  319. QTest::newRow("NonExistingKey show again accept")
  320. << "NonExistingKey" << false << int(QMessageBox::Ok)
  321. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  322. << int(QMessageBox::InvalidRole);
  323. // ctkMessageBox never write the settings.
  324. QTest::newRow("NonExistingKey show again reject")
  325. << "NonExistingKey" << false << int(QMessageBox::Cancel)
  326. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  327. << QVariant().toInt();
  328. QTest::newRow("Show show again accept")
  329. << "Show" << false << int(QMessageBox::Ok)
  330. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  331. << int(QMessageBox::InvalidRole);
  332. // ctkMessageBox never write the settings but the settings exists.
  333. QTest::newRow("Show dont show reject")
  334. << "Show" << false << int(QMessageBox::Cancel)
  335. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  336. << int(QMessageBox::InvalidRole);
  337. QTest::newRow("Show show again accept")
  338. << "DontShowWithOkButton" << false << int(QMessageBox::Ok)
  339. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  340. << int(QMessageBox::InvalidRole);
  341. QTest::newRow("Show dont show reject")
  342. << "DontShowWithOkButton" << false << int(QMessageBox::Cancel)
  343. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  344. << int(QMessageBox::Ok);
  345. }
  346. // ----------------------------------------------------------------------------
  347. void ctkMessageBoxDontShowAgainTester::testDontShowAgainSettingsKeyClickDontShowAgain()
  348. {
  349. ctkMessageBox messageBox;
  350. messageBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
  351. QFETCH(QString, key);
  352. messageBox.setDontShowAgainSettingsKey(key);
  353. QCOMPARE(messageBox.dontShowAgainSettingsKey(), key);
  354. QFETCH(bool, dontShowAgain);
  355. QCheckBox* checkBox =
  356. messageBox.findChild<QCheckBox*>("ctk_msgbox_dontshowcheckbox");
  357. QMetaObject::invokeMethod(checkBox, "setChecked", Qt::QueuedConnection,
  358. Q_ARG(bool, dontShowAgain));
  359. this->testExecMessageBox(messageBox);
  360. QSettings settings;
  361. QFETCH(int, keyValue);
  362. QCOMPARE(settings.value(key).toInt(), keyValue);
  363. }
  364. // ----------------------------------------------------------------------------
  365. void ctkMessageBoxDontShowAgainTester::testDontShowAgainSettingsKeyClickDontShowAgain_data()
  366. {
  367. QTest::addColumn<QString>("key");
  368. QTest::addColumn<bool>("dontShowAgain");
  369. QTest::addColumn<int>("buttonOrRole");
  370. QTest::addColumn<int>("result");
  371. QTest::addColumn<QMessageBox::ButtonRole>("resultRole");
  372. QTest::addColumn<int>("keyValue");
  373. QTest::newRow("NonExistingKey dont show again ok")
  374. << "NonExistingKey" << true << int(QMessageBox::Ok)
  375. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  376. << int(QMessageBox::Ok);
  377. QTest::newRow("NonExistingKey dont show again cancel")
  378. << "NonExistingKey" << true << int(QMessageBox::Cancel)
  379. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  380. << QVariant().toInt();
  381. QTest::newRow("Show dont show again accept")
  382. << "Show" << true << int(QMessageBox::Ok)
  383. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  384. << int(QMessageBox::Ok);
  385. QTest::newRow("Show dont show again cancel")
  386. << "Show" << true << int(QMessageBox::Cancel)
  387. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  388. << int(QMessageBox::InvalidRole);
  389. QTest::newRow("NonExistingKey show again accept")
  390. << "NonExistingKey" << false << int(QMessageBox::Ok)
  391. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  392. << int(QMessageBox::InvalidRole);
  393. QTest::newRow("NonExistingKey show again reject")
  394. << "NonExistingKey" << false << int(QMessageBox::Cancel)
  395. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  396. << QVariant().toInt();
  397. QTest::newRow("Show show again accept")
  398. << "Show" << false << int(QMessageBox::Ok)
  399. << int(QMessageBox::Ok) << QMessageBox::AcceptRole
  400. << int(QMessageBox::InvalidRole);
  401. QTest::newRow("Show dont show reject")
  402. << "Show" << false << int(QMessageBox::Cancel)
  403. << int(QMessageBox::Cancel) << QMessageBox::RejectRole
  404. << int(QMessageBox::InvalidRole);
  405. }
  406. // ----------------------------------------------------------------------------
  407. void ctkMessageBoxDontShowAgainTester::testConfirmExit()
  408. {
  409. QFETCH(QString, key);
  410. bool res = ctkMessageBox::confirmExit(key);
  411. QFETCH(bool, expectedRes);
  412. QCOMPARE(res, expectedRes);
  413. }
  414. // ----------------------------------------------------------------------------
  415. void ctkMessageBoxDontShowAgainTester::testConfirmExit_data()
  416. {
  417. QTest::addColumn<QString>("key");
  418. QTest::addColumn<bool>("expectedRes");
  419. QTest::newRow("DontShowWithOkButton") << "DontShowWithOkButton" << true;
  420. QTest::newRow("DontShowWithAcceptRole") << "DontShowWithAcceptRole" << true;
  421. QTest::newRow("DontShowWithCancelButton") << "DontShowWithCancelButton" << false;
  422. QTest::newRow("DontShowWithRejectRole") << "DontShowWithRejectRole" << false;
  423. }
  424. // ----------------------------------------------------------------------------
  425. void ctkMessageBoxDontShowAgainTester::testVisible()
  426. {
  427. ctkMessageBox messageBox;
  428. QCOMPARE(messageBox.isDontShowAgainVisible(), false);
  429. messageBox.setDontShowAgainSettingsKey("Non Empty key");
  430. QCOMPARE(messageBox.isDontShowAgainVisible(), true);
  431. messageBox.setDontShowAgainSettingsKey(QString());
  432. QCOMPARE(messageBox.isDontShowAgainVisible(), false);
  433. }
  434. // ----------------------------------------------------------------------------
  435. CTK_TEST_MAIN(ctkMessageBoxDontShowAgainTest)
  436. #include "moc_ctkMessageBoxDontShowAgainTest.cpp"