From c4a7ff8d05c157c9ad628554b94d62a03b69f584 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Mon, 5 Oct 2009 16:05:42 +1000 Subject: Add scope auto test --- .../auto/declarative/qmlecmascript/data/scope.qml | 42 ++++++++++++++++++++++ .../qmlecmascript/tst_qmlecmascript.cpp | 18 ++++++++++ 2 files changed, 60 insertions(+) create mode 100644 tests/auto/declarative/qmlecmascript/data/scope.qml diff --git a/tests/auto/declarative/qmlecmascript/data/scope.qml b/tests/auto/declarative/qmlecmascript/data/scope.qml new file mode 100644 index 0000000..87155d1 --- /dev/null +++ b/tests/auto/declarative/qmlecmascript/data/scope.qml @@ -0,0 +1,42 @@ +import Qt 4.6 + +Item { + id: Root + + property int a: 1 + property int binding: a + property string binding2: a + "Test" + property int binding3: myFunction() + property int binding4: myNestedFunction() + + Script { + function myFunction() { + return a; + } + } + + Item { + id: NestedObject + + Script { + function myNestedFunction() { + return a; + } + } + + property int a: 2 + property int binding: a + property string binding2: a + "Test" + property int binding3: myFunction() + property int binding4: myNestedFunction() + } + + property alias test1: Root.binding + property alias test2: NestedObject.binding + property alias test3: Root.binding2 + property alias test4: NestedObject.binding2 + property alias test5: Root.binding3 + property alias test6: NestedObject.binding3 + property alias test7: Root.binding4 + property alias test8: NestedObject.binding4 +} diff --git a/tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp b/tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp index eca4b92..00c3475 100644 --- a/tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp +++ b/tests/auto/declarative/qmlecmascript/tst_qmlecmascript.cpp @@ -51,6 +51,7 @@ private slots: void outerBindingOverridesInnerBinding(); void aliasPropertyAndBinding(); void nonExistantAttachedObject(); + void scope(); private: QmlEngine engine; @@ -525,6 +526,23 @@ void tst_qmlecmascript::nonExistantAttachedObject() QVERIFY(object != 0); } +void tst_qmlecmascript::scope() +{ + QmlComponent component(&engine, TEST_FILE("scope.qml")); + qWarning() << component.errors(); + QObject *object = component.create(); + QVERIFY(object != 0); + + QCOMPARE(object->property("test1").toInt(), 1); + QCOMPARE(object->property("test2").toInt(), 2); + QCOMPARE(object->property("test3").toString(), QString("1Test")); + QCOMPARE(object->property("test4").toString(), QString("2Test")); + QCOMPARE(object->property("test5").toInt(), 1); + QCOMPARE(object->property("test6").toInt(), 1); + QCOMPARE(object->property("test7").toInt(), 2); + QCOMPARE(object->property("test8").toInt(), 2); +} + /* Confirm bindings and alias properties can coexist. -- cgit v0.12