qt 6.6.0 clean

This commit is contained in:
kleuter
2023-11-01 22:23:55 +01:00
parent 7b5ada15e7
commit 5d8194efa7
1449 changed files with 134276 additions and 31391 deletions

View File

@ -26,6 +26,7 @@ private Q_SLOTS:
void conversionMaintainsState() const;
void functorWithoutContext();
void functorWithContextInThread();
void receiverInThread();
void destroyedContextObject();
@ -145,6 +146,47 @@ void tst_QPermission::conversionMaintainsState() const
}
}
template <typename Func,
typename T = std::void_t<decltype(qApp->requestPermission(std::declval<DummyPermission>(),
std::declval<Func>()))>
>
void wrapRequestPermission(const QPermission &p, Func &&f)
{
qApp->requestPermission(p, std::forward<Func>(f));
}
template <typename Functor>
using CompatibleTest = decltype(wrapRequestPermission(std::declval<QPermission>(), std::declval<Functor>()));
// Compile test for context-less functor overloads
void tst_QPermission::functorWithoutContext()
{
int argc = 0;
char *argv = nullptr;
QCoreApplication app(argc, &argv);
DummyPermission dummy;
#ifdef Q_OS_DARWIN
QTest::ignoreMessage(QtWarningMsg, QRegularExpression(".*Could not find permission plugin for DummyPermission.*"));
#endif
qApp->requestPermission(dummy, [](const QPermission &permission){
QVERIFY(permission.value<DummyPermission>());
});
wrapRequestPermission(dummy, [](const QPermission &permission){
QVERIFY(permission.value<DummyPermission>());
});
auto compatible = [](const QPermission &) {};
using Compatible = decltype(compatible);
auto incompatible = [](const QString &) {};
using Incompatible = decltype(incompatible);
static_assert(qxp::is_detected_v<CompatibleTest, Compatible>);
static_assert(!qxp::is_detected_v<CompatibleTest, Incompatible>);
}
void tst_QPermission::functorWithContextInThread()
{
int argc = 0;
@ -209,6 +251,11 @@ void tst_QPermission::receiverInThread()
qApp->requestPermission(dummy, &receiver, &Receiver::handlePermission);
QTRY_COMPARE(receiver.permissionReceiverThread, &receiverThread);
// compile tests: none of these work and the error output isn't horrible
// qApp->requestPermission(dummy, &receiver, "&tst_QPermission::receiverInThread");
// qApp->requestPermission(dummy, &receiver, &tst_QPermission::receiverInThread);
// qApp->requestPermission(dummy, &receiver, &QObject::destroyed);
}
void tst_QPermission::destroyedContextObject()