| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
| file LICENSE.rst or https://cmake.org/licensing for details. */ | |
| #include "QCMakePresetComboBoxTest.h" | |
| #include <QtTest> | |
| void QCMakePresetComboBoxTest::changePresets() | |
| { | |
| QCMakePresetComboBox box; | |
| QSignalSpy presetChanged(&box, &QCMakePresetComboBox::presetChanged); | |
| QCOMPARE(presetChanged.size(), 0); | |
| box.setPresets({}); | |
| QCOMPARE(presetChanged.size(), 0); | |
| box.setPresetName(QString{}); | |
| QCOMPARE(presetChanged.size(), 0); | |
| box.setPresets({ | |
| { | |
| /*name=*/"preset", | |
| /*description=*/"", | |
| /*description=*/"", | |
| /*generator=*/"Ninja", | |
| /*architecture=*/"", | |
| /*setArchitecture=*/true, | |
| /*toolset=*/"", | |
| /*setToolset=*/true, | |
| /*enabled=*/true, | |
| }, | |
| }); | |
| QCOMPARE(presetChanged.size(), 0); | |
| box.setPresetName(QString{}); | |
| QCOMPARE(presetChanged.size(), 0); | |
| box.setPresetName("noexist"); | |
| QCOMPARE(presetChanged.size(), 0); | |
| box.setPresetName("preset"); | |
| QCOMPARE(presetChanged.size(), 1); | |
| QCOMPARE(presetChanged.last(), QList<QVariant>{ "preset" }); | |
| box.setPresets({ | |
| { | |
| /*name=*/"preset", | |
| /*description=*/"", | |
| /*description=*/"", | |
| /*generator=*/"Ninja Multi-Config", | |
| /*architecture=*/"", | |
| /*setArchitecture=*/true, | |
| /*toolset=*/"", | |
| /*setToolset=*/true, | |
| /*enabled=*/true, | |
| }, | |
| }); | |
| QCOMPARE(presetChanged.size(), 1); | |
| box.setPresetName("noexist"); | |
| QCOMPARE(presetChanged.size(), 2); | |
| QCOMPARE(presetChanged.last(), QList<QVariant>{ QString{} }); | |
| box.setPresetName("preset"); | |
| QCOMPARE(presetChanged.size(), 3); | |
| QCOMPARE(presetChanged.last(), QList<QVariant>{ "preset" }); | |
| box.blockSignals(true); | |
| box.setPresetName(QString{}); | |
| box.blockSignals(false); | |
| QCOMPARE(presetChanged.size(), 3); | |
| box.setPresetName("preset"); | |
| QCOMPARE(presetChanged.size(), 4); | |
| QCOMPARE(presetChanged.last(), QList<QVariant>{ "preset" }); | |
| box.setPresets({}); | |
| QCOMPARE(presetChanged.size(), 5); | |
| QCOMPARE(presetChanged.last(), QList<QVariant>{ QString{} }); | |
| } | |
| QTEST_MAIN(QCMakePresetComboBoxTest) |