示例#1
0
void GluonObjectTest::testHasMetaInfo()
{
    GluonObject gluonObject;
    QCOMPARE(gluonObject.hasMetaInfo(), false);
    gluonObject.metaInfo();
    QCOMPARE(gluonObject.hasMetaInfo(), true);
}
示例#2
0
void GluonObjectTest::testAddChild()
{
    GluonObject parentObject;
    GluonObject childObject;
    parentObject.addChild(&childObject);
    QCOMPARE(parentObject.children().count(), 1);
    QCOMPARE(&childObject, parentObject.children().at(0));
}
示例#3
0
void GluonObjectTest::testAddChildAt()
{
    GluonObject parentObject;
    GluonObject childObject1;
    GluonObject childObject2;
    parentObject.addChild(&childObject1);
    parentObject.addChildAt(&childObject2, 0);
    QCOMPARE(&childObject2, parentObject.child(0));
    QCOMPARE(&childObject1, parentObject.child(1));
}
示例#4
0
void GluonObjectTest::testConvertQVariant()
{
    //This primarily tests whether we can convert from and to QVariant
    //and from QVariant to a superclass of a subclass of GluonObject.
    TestObject* object = new TestObject( "Test" );
    QVariant v = QVariant::fromValue( object );

    QVERIFY( v.isValid() );
    QVERIFY( v.canConvert< TestObject* >() );
    QVERIFY( v.canConvert< GluonObject* >() );

    GluonObject* g = v.value< GluonObject* >();
    QVERIFY( g );
    QCOMPARE( g->name(), QString( "Test" ) );
}
示例#5
0
GluonObject*
GluonObject::clone( GluonObject* parentObject ) const
{
    const QMetaObject* metaObj = metaObject();
    if( !metaObj )
        debug( QString( "Failed to get the meta object for object %1" ).arg( fullyQualifiedName() ) );

    GluonObject* newObject = GluonObjectFactory::instance()->instantiateObjectByName( metaObj->className() );
    parentObject->addChild( newObject );

    // Clone all the children
    foreach( QObject * child, children() )
    {
        GluonObject* childObject = qobject_cast<GluonObject*>( child );
        if( childObject )
        {
            childObject->clone( newObject );
        }
    }
示例#6
0
文件: gluonobject.cpp 项目: KDE/gluon
GluonObject*
GluonObject::clone( GluonObject* parentObject ) const
{
    const QMetaObject* metaObj = metaObject();
    if( !metaObj )
    {
        WARNING() << "Failed to get the meta object for object " << fullyQualifiedName();
        return nullptr;
    }

    GluonObject* newObject = GluonObjectFactory::instance()->instantiateObjectByName( metaObj->className() );
    parentObject->addChild( newObject );

    // Clone all the children
    foreach( QObject * child, children() )
    {
        GluonObject* childObject = qobject_cast<GluonObject*>( child );
        if( childObject )
        {
            childObject->clone( newObject );
        }
    }
示例#7
0
void GluonObjectTest::testName()
{
    GluonObject gluonObject;
    gluonObject.setName("GluonObjectTest");
    QCOMPARE(gluonObject.name(), QString("GluonObjectTest"));
}
示例#8
0
void GluonObjectTest::testNameToObjectName()
{
    GluonObject gluonObject;
    QCOMPARE(gluonObject.nameToObjectName("@_Gluon Object1&"), QString("_GluonObject1"));
}
示例#9
0
void GluonObjectTest::testMetaInfo()
{
    GluonObject gluonObject;
    QVERIFY2(gluonObject.metaInfo() != 0, "The meta info has not been created \
             successfully!");
}
示例#10
0
void GluonObjectTest::testSupportedMimeTypes()
{
    GluonObject gluonObject;
    QCOMPARE(gluonObject.supportedMimeTypes(), QStringList());
}
示例#11
0
void GluonObjectTest::testShouldSerializeChildren()
{
    GluonObject gluonObject;
    QCOMPARE(gluonObject.shouldSerializeChildren(), true);
}