fuzzer: Also generate max-size constraints

This commit is contained in:
Sergio Martins
2020-06-21 23:25:53 +01:00
parent 4c0e418bc1
commit 19d5467f4d
2 changed files with 12 additions and 2 deletions

View File

@@ -175,9 +175,16 @@ Fuzzer::DockWidgetDescriptor Fuzzer::generateRandomDockWidget()
dwd.minSize.setWidth(minSizeDistriv(m_randomEngine));
dwd.minSize.setHeight(minSizeDistriv(m_randomEngine));
const bool hasMaxSize = getRandomBool(25); // 25% of all dock widgets have a max-size
if (hasMaxSize) {
std::uniform_int_distribution<> maxSizeDistriv(200, 600);
dwd.maxSize.setWidth(dwd.minSize.width() + minSizeDistriv(m_randomEngine));
dwd.maxSize.setHeight(dwd.minSize.height() + minSizeDistriv(m_randomEngine));
}
QPoint pos = getRandomPos();
std::uniform_int_distribution<> widthDistrib(dwd.minSize.width() + 50, dwd.minSize.width() + 600);
std::uniform_int_distribution<> heightDistrib(dwd.minSize.height() + 50, dwd.minSize.height() + 600);
std::uniform_int_distribution<> widthDistrib(dwd.minSize.width(), hasMaxSize ? dwd.maxSize.width() : dwd.minSize.width() + 600);
std::uniform_int_distribution<> heightDistrib(dwd.minSize.height(), hasMaxSize ? dwd.maxSize.height() : dwd.minSize.height() + 600);
dwd.geometry = QRect(pos, QSize(widthDistrib(m_randomEngine), heightDistrib(m_randomEngine)));
return dwd;