From 4a4b17805c976b40a404b48ba51984c9abdba633 Mon Sep 17 00:00:00 2001
From: Robin Burchell <robin.burchell@theqtcompany.com>
Date: Tue, 24 Nov 2015 21:00:38 +0100
Subject: [PATCH] Fix QCOMPARE with enum classes.

As these are strongly typed, they won't implicitly convert to int, so make sure
to cast explicitly.

(cherry picked from commit 9626baaea98edc13236250fc4b92d461b80e3875, auto test
is not included)
Task-number: QTBUG-49597
Change-Id: I29c4331a9b0c61f2e60c2bcab5a99f65daa7060f
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
---
 src/testlib/qtestcase.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h
index 7d2fd2e701a..9d79439e049 100644
--- a/src/testlib/qtestcase.h
+++ b/src/testlib/qtestcase.h
@@ -238,7 +238,7 @@ namespace QTest
     inline typename QtPrivate::QEnableIf<QtPrivate::IsQEnumHelper<T>::Value, char*>::Type toString(T e)
     {
         QMetaEnum me = QMetaEnum::fromType<T>();
-        return qstrdup(me.key(e));
+        return qstrdup(me.key(int(e))); // int cast is necessary to support enum classes
     }
 
     template <typename T> // Fallback
-- 
GitLab