summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2020-12-15 13:18:39 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2021-01-13 16:15:06 +0100
commitb88f692d7dde8b15b75a5194c3b2d97bd947787b (patch)
treef42098a85156a92f58e3476b5e047a5a6932ff1a /src
parent29b2387587fe2ed2a73bdcbfa928acb755537284 (diff)
QTestLib: Show the values of unregistered enums
... on a failed QCOMPARE. Change-Id: I653894927e49fad92c21409d03ed70880ca510f6 Reviewed-by: Jason McDonald <macadder1@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/testlib/qtestcase.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h
index d7c9d43581..ced876fcd9 100644
--- a/src/testlib/qtestcase.h
+++ b/src/testlib/qtestcase.h
@@ -246,8 +246,14 @@ namespace QTest
return qstrdup(me.valueToKey(int(e))); // int cast is necessary to support enum classes
}
+ template <typename T>
+ inline typename std::enable_if<!QtPrivate::IsQEnumHelper<T>::Value && std::is_enum_v<T>, char*>::type toString(const T &e)
+ {
+ return qstrdup(QByteArray::number(static_cast<std::underlying_type_t<T>>(e)).constData());
+ }
+
template <typename T> // Fallback
- inline typename std::enable_if<!QtPrivate::IsQEnumHelper<T>::Value, char*>::type toString(const T &)
+ inline typename std::enable_if<!QtPrivate::IsQEnumHelper<T>::Value && !std::is_enum_v<T>, char*>::type toString(const T &)
{
return nullptr;
}