QCMakePresetComboBoxTest.cxx 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #include "QCMakePresetComboBoxTest.h"
  4. #include <QtTest>
  5. void QCMakePresetComboBoxTest::changePresets()
  6. {
  7. QCMakePresetComboBox box;
  8. QSignalSpy presetChanged(&box, &QCMakePresetComboBox::presetChanged);
  9. QCOMPARE(presetChanged.size(), 0);
  10. box.setPresets({});
  11. QCOMPARE(presetChanged.size(), 0);
  12. box.setPresetName(QString{});
  13. QCOMPARE(presetChanged.size(), 0);
  14. box.setPresets({
  15. {
  16. /*name=*/"preset",
  17. /*description=*/"",
  18. /*description=*/"",
  19. /*generator=*/"Ninja",
  20. /*architecture=*/"",
  21. /*setArchitecture=*/true,
  22. /*toolset=*/"",
  23. /*setToolset=*/true,
  24. /*enabled=*/true,
  25. },
  26. });
  27. QCOMPARE(presetChanged.size(), 0);
  28. box.setPresetName(QString{});
  29. QCOMPARE(presetChanged.size(), 0);
  30. box.setPresetName("noexist");
  31. QCOMPARE(presetChanged.size(), 0);
  32. box.setPresetName("preset");
  33. QCOMPARE(presetChanged.size(), 1);
  34. QCOMPARE(presetChanged.last(), QList<QVariant>{ "preset" });
  35. box.setPresets({
  36. {
  37. /*name=*/"preset",
  38. /*description=*/"",
  39. /*description=*/"",
  40. /*generator=*/"Ninja Multi-Config",
  41. /*architecture=*/"",
  42. /*setArchitecture=*/true,
  43. /*toolset=*/"",
  44. /*setToolset=*/true,
  45. /*enabled=*/true,
  46. },
  47. });
  48. QCOMPARE(presetChanged.size(), 1);
  49. box.setPresetName("noexist");
  50. QCOMPARE(presetChanged.size(), 2);
  51. QCOMPARE(presetChanged.last(), QList<QVariant>{ QString{} });
  52. box.setPresetName("preset");
  53. QCOMPARE(presetChanged.size(), 3);
  54. QCOMPARE(presetChanged.last(), QList<QVariant>{ "preset" });
  55. box.blockSignals(true);
  56. box.setPresetName(QString{});
  57. box.blockSignals(false);
  58. QCOMPARE(presetChanged.size(), 3);
  59. box.setPresetName("preset");
  60. QCOMPARE(presetChanged.size(), 4);
  61. QCOMPARE(presetChanged.last(), QList<QVariant>{ "preset" });
  62. box.setPresets({});
  63. QCOMPARE(presetChanged.size(), 5);
  64. QCOMPARE(presetChanged.last(), QList<QVariant>{ QString{} });
  65. }
  66. QTEST_MAIN(QCMakePresetComboBoxTest)