on xenial help sign in
strip known namespaces from the class names
b7debc7Zsombor Egri
tests/utils/modules/Unity/Test/testutil.cpp+11−1
@@ -51,8 +51,18 @@ TestUtil::isInstanceOf(QObject *obj, QString name)
51 const QMetaObject *metaObject = obj->metaObject();
51 const QMetaObject *metaObject = obj->metaObject();
52 while (!result && metaObject) {
52 while (!result && metaObject) {
53 const QString className = metaObject->className();
53 const QString className = metaObject->className();
54− const QString qmlName = className.left(className.indexOf("_QMLTYPE_"));
54+ QString qmlName = className.left(className.indexOf("_QMLTYPE_"));
55 result = qmlName == name;
55 result = qmlName == name;
56+ // test for known namespaces
57+ if (!result) {
58+ // remove UbuntuGestures and UbuntuToolkit namespace
59+ qmlName = qmlName.remove(QString("UbuntuGestures::"));
60+ result = qmlName == name;
61+ }
62+ if (!result) {
63+ qmlName = qmlName.remove(QString("UbuntuToolkit::"));
64+ result = qmlName == name;
65+ }
56 metaObject = metaObject->superClass();
66 metaObject = metaObject->superClass();
57 }
67 }
58 }
68 }