summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2025-07-22 10:10:39 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2025-07-22 21:12:39 +0200
commitd5c221c4fc381702922db412dc02486ed19b4dcc (patch)
tree7fc48a6b850fda7da084bf8cadeafc7bb586d2df
parent5981c50aa4cd3b89ff6753c053c1d42c2cbe8672 (diff)
QRM: add test case for MultiRoleItem in a shared pointer
Verify that the RowOptions detection reaches into a wrapped type. Amends 4d88d3941787847c969a6ace185717776f878044. Pick-to: 6.10 Change-Id: I9e1614cb3566151dc491cda3449878025c620806 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
-rw-r--r--tests/auto/corelib/itemmodels/qrangemodel/data.h7
-rw-r--r--tests/auto/corelib/itemmodels/qrangemodel/tst_qrangemodel.cpp1
2 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/corelib/itemmodels/qrangemodel/data.h b/tests/auto/corelib/itemmodels/qrangemodel/data.h
index 0abbde90214..18638b77c01 100644
--- a/tests/auto/corelib/itemmodels/qrangemodel/data.h
+++ b/tests/auto/corelib/itemmodels/qrangemodel/data.h
@@ -12,6 +12,8 @@
#include <tuple>
#include <vector>
+using namespace Qt::StringLiterals;
+
#if defined(__cpp_lib_ranges)
#include <ranges>
#endif
@@ -357,6 +359,11 @@ struct Data {
{"green", Qt::green},
{"blue", Qt::blue},
};
+ std::vector<std::shared_ptr<MultiRoleGadget>> listOfSharedMultiRoleGadgets = {
+ asSPtr(MultiRoleGadget{u"red"_s, Qt::red}),
+ asSPtr(MultiRoleGadget{u"green"_s, Qt::green}),
+ asSPtr(MultiRoleGadget{u"blue"_s, Qt::blue}),
+ };
std::vector<Row> vectorOfStructs = {
{{"red", Qt::red, "0xff0000"}, 1, "one"},
{{"green", Qt::green, "0x00ff00"}, 2, "two"},
diff --git a/tests/auto/corelib/itemmodels/qrangemodel/tst_qrangemodel.cpp b/tests/auto/corelib/itemmodels/qrangemodel/tst_qrangemodel.cpp
index 89996f2c168..ac7fc8690ea 100644
--- a/tests/auto/corelib/itemmodels/qrangemodel/tst_qrangemodel.cpp
+++ b/tests/auto/corelib/itemmodels/qrangemodel/tst_qrangemodel.cpp
@@ -214,6 +214,7 @@ void tst_QRangeModel::createTestData()
ADD_ALL(listOfGadgets, 1, ChangeAction::ChangeRows | ChangeAction::SetData | ChangeAction::SetItemData);
ADD_ALL(listOfMultiRoleGadgets, 1, ChangeAction::ChangeRows | ChangeAction::SetData | ChangeAction::SetItemData);
+ ADD_COPY(listOfSharedMultiRoleGadgets, 1, ChangeAction::ChangeRows | ChangeAction::SetData | ChangeAction::SetItemData);
ADD_COPY(listOfObjects, 2, ChangeAction::ChangeRows | ChangeAction::SetData);