commit da75417f9d5d2ea0ce41630e37ee2377a93bce1b Author: Simon Hausmann Date: Fri Dec 2 16:41:47 2011 +0100 Testcase diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/extendedObjectPropertyLookup2.qml b/tests/auto/declarative/qdeclarativeecmascript/data/extendedObjectPropertyLookup2.qml new file mode 100644 index 0000000..e4af335 --- /dev/null +++ b/tests/auto/declarative/qdeclarativeecmascript/data/extendedObjectPropertyLookup2.qml @@ -0,0 +1,14 @@ +import Qt.test 1.0 +import QtQuick 2.0 + +QtObject { + id: root + property MyExtendedObject a; + a: MyExtendedObject { + id: obj + extendedProperty: 42; + } + function getValue() { + return obj.extendedProperty; + } +} diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp index 426f966..14efe53 100644 --- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp +++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp @@ -114,6 +114,7 @@ private slots: void objectHasOwnProperty(); void selfDeletingBinding(); void extendedObjectPropertyLookup(); + void extendedObjectPropertyLookup2(); void scriptErrors(); void functionErrors(); void propertyAssignmentErrors(); @@ -1353,6 +1354,21 @@ void tst_qdeclarativeecmascript::extendedObjectPropertyLookup() } /* +Test that extended object properties can be accessed correctly. +*/ +void tst_qdeclarativeecmascript::extendedObjectPropertyLookup2() +{ + QDeclarativeComponent component(&engine, TEST_FILE("extendedObjectPropertyLookup2.qml")); + QObject *object = component.create(); + QVERIFY(object != 0); + + QVariant returnValue; + QVERIFY(QMetaObject::invokeMethod(object, "getValue", Q_RETURN_ARG(QVariant, returnValue))); + QCOMPARE(returnValue.toInt(), 42); + + delete object; +} +/* Test file/lineNumbers for binding/Script errors. */ void tst_qdeclarativeecmascript::scriptErrors()