/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #include "QCMakePresetComboBoxTest.h" #include 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{ "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{ QString{} }); box.setPresetName("preset"); QCOMPARE(presetChanged.size(), 3); QCOMPARE(presetChanged.last(), QList{ "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{ "preset" }); box.setPresets({}); QCOMPARE(presetChanged.size(), 5); QCOMPARE(presetChanged.last(), QList{ QString{} }); } QTEST_MAIN(QCMakePresetComboBoxTest)