MCPcopy Create free account
hub / github.com/KDAB/GammaRay / MyObject

Class MyObject

tests/enumpropertytest.cpp:84–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

82
83namespace MyNS {
84class MyObject : public QObject
85{
86 Q_OBJECT
87public:
88 enum MyEnum
89 {
90 MyValue1,
91 MyValue2
92 };
93 Q_ENUM(MyEnum)
94};
95
96class MyOtherObject : public QObject
97{
98 Q_OBJECT
99};
100}
101
102class EnumPropertyTest : public QObject
103{
104 Q_OBJECT
105public:
106 explicit EnumPropertyTest(QObject *parent = nullptr)
107 : QObject(parent)
108 {
109 qRegisterMetaType<QFrame *>();
110 qRegisterMetaType<QFrame::Shadow>();
111 qRegisterMetaType<MyNS::MyObject *>();
112
113 EnumRepositoryServer::create(this);
114 ER_REGISTER_ENUM(EnumHolder, MyEnum, my_enum_table);
115 ER_REGISTER_FLAGS(EnumHolder, MyFlags, my_enum_table);
116 }
117
118private slots:
119 static void testEnumToString_data()
120 {
121 QTest::addColumn<QVariant>("variant", nullptr);
122 QTest::addColumn<QByteArray>("name", nullptr);
123 QTest::addColumn<const QMetaObject *>("mo", nullptr);
124 QTest::addColumn<QString>("result", nullptr);
125
126 const QMetaObject *nullObj = nullptr;
127 QTest::newRow("null") << QVariant() << QByteArray() << nullObj << QString();
128 QTest::newRow("int") << QVariant(42) << QByteArray() << &staticMetaObject << QString();
129
130 // global enum
131 QTest::newRow("global enum as int, QMO/name") << QVariant::fromValue<int>(Qt::LeftToRight) << QByteArray("Qt::LayoutDirection") << &QFrame::staticMetaObject << QStringLiteral("LeftToRight");
132 QTest::newRow("global enum as int, name") << QVariant::fromValue<int>(Qt::LeftToRight) << QByteArray("Qt::LayoutDirection") << nullObj << QStringLiteral("LeftToRight");
133 QTest::newRow("global enum, QMO/name") << QVariant::fromValue<Qt::LayoutDirection>(Qt::LeftToRight) << QByteArray("Qt::LayoutDirection") << &QFrame::staticMetaObject << QStringLiteral("LeftToRight");
134 QTest::newRow("global enum, QMO") << QVariant::fromValue<Qt::LayoutDirection>(Qt::LeftToRight) << QByteArray() << &QFrame::staticMetaObject << QStringLiteral("LeftToRight");
135 QTest::newRow("global enum, name") << QVariant::fromValue<Qt::LayoutDirection>(Qt::LeftToRight) << QByteArray("Qt::LayoutDirection") << nullObj << QStringLiteral("LeftToRight");
136 QTest::newRow("global enum") << QVariant::fromValue<Qt::LayoutDirection>(Qt::LeftToRight) << QByteArray() << nullObj << QStringLiteral("LeftToRight");
137
138 // global flag
139 QTest::newRow("global flag as int, name") << QVariant::fromValue<int>(Qt::AlignHCenter | Qt::AlignTop) << QByteArray("Qt::Alignment") << nullObj << QStringLiteral("AlignHCenter|AlignTop");
140 QTest::newRow("global flag, name") << QVariant::fromValue<Qt::Alignment>(Qt::AlignHCenter | Qt::AlignTop) << QByteArray("Qt::Alignment") << nullObj << QStringLiteral("AlignHCenter|AlignTop");
141 QTest::newRow("global flag") << QVariant::fromValue<Qt::Alignment>(Qt::AlignHCenter | Qt::AlignTop) << QByteArray() << nullObj << QStringLiteral("AlignHCenter|AlignTop");

Callers

nothing calls this directly

Calls 4

enumToStringFunction · 0.85
QObjectClass · 0.50
QVariantClass · 0.50
QStringClass · 0.50

Tested by

no test coverage detected