diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2020-12-15 13:18:39 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2021-01-13 16:15:06 +0100 |
commit | b88f692d7dde8b15b75a5194c3b2d97bd947787b (patch) | |
tree | f42098a85156a92f58e3476b5e047a5a6932ff1a /src | |
parent | 29b2387587fe2ed2a73bdcbfa928acb755537284 (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.h | 8 |
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; } |