| 28 | using namespace GammaRay; |
| 29 | |
| 30 | class ObjectInstanceTest : public QObject |
| 31 | { |
| 32 | Q_OBJECT |
| 33 | private slots: |
| 34 | void initTestCase() |
| 35 | { |
| 36 | EnumRepositoryServer::create(this); |
| 37 | } |
| 38 | |
| 39 | static void testQtObject() |
| 40 | { |
| 41 | QObject obj; |
| 42 | |
| 43 | ObjectInstance oi(QVariant::fromValue(&obj)); |
| 44 | QCOMPARE(oi.type(), ObjectInstance::QtObject); |
| 45 | QCOMPARE(oi.typeName(), QByteArray("QObject")); |
| 46 | QCOMPARE(oi.object(), &obj); |
| 47 | QCOMPARE(oi.qtObject(), &obj); |
| 48 | QCOMPARE(oi.metaObject(), &QObject::staticMetaObject); |
| 49 | QVERIFY(!oi.isValueType()); |
| 50 | |
| 51 | auto oi2 = oi; |
| 52 | QCOMPARE(oi2.type(), ObjectInstance::QtObject); |
| 53 | QCOMPARE(oi.object(), oi2.object()); |
| 54 | } |
| 55 | |
| 56 | static void testMetaObjectVariantPointer() |
| 57 | { |
| 58 | QDateTime dt; |
| 59 | |
| 60 | ObjectInstance oi(QVariant::fromValue(&dt)); |
| 61 | QCOMPARE(oi.type(), ObjectInstance::Object); |
| 62 | QCOMPARE(oi.typeName(), QByteArray("QDateTime*")); |
| 63 | QVERIFY(oi.object()); |
| 64 | QVERIFY(!oi.isValueType()); |
| 65 | |
| 66 | auto oi2 = oi; |
| 67 | QCOMPARE(oi2.type(), ObjectInstance::Object); |
| 68 | QCOMPARE(oi.object(), oi2.object()); |
| 69 | |
| 70 | QDateTime dt2; |
| 71 | oi2 = ObjectInstance(QVariant::fromValue(&dt2)); |
| 72 | QVERIFY(!(oi == oi2)); |
| 73 | } |
| 74 | |
| 75 | static void testMetaObjectVariantValue() |
| 76 | { |
| 77 | QDateTime dt; |
| 78 | |
| 79 | ObjectInstance oi(QVariant::fromValue(dt)); |
| 80 | QCOMPARE(oi.type(), ObjectInstance::Value); |
| 81 | QCOMPARE(oi.typeName(), QByteArray("QDateTime")); |
| 82 | QVERIFY(oi.object()); |
| 83 | QVERIFY(oi.isValueType()); |
| 84 | |
| 85 | auto oi2 = oi; |
| 86 | QCOMPARE(oi2.type(), ObjectInstance::Value); |
| 87 | QVERIFY(oi2.object()); |
nothing calls this directly
no test coverage detected