diff options
Diffstat (limited to 'tests/auto/declarative')
4 files changed, 67 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativestates/data/Implementation/MyType.qml b/tests/auto/declarative/qdeclarativestates/data/Implementation/MyType.qml new file mode 100644 index 0000000..1872de8 --- /dev/null +++ b/tests/auto/declarative/qdeclarativestates/data/Implementation/MyType.qml @@ -0,0 +1,32 @@ +import Qt 4.7 + +Item { + Column { + anchors.centerIn: parent + Image { id: image1; objectName: "image1" } + Image { id: image2; objectName: "image2" } + Image { id: image3; objectName: "image3" } + } + + states: State { + name: "SetImageState" + PropertyChanges { + target: image1 + source: "images/qt-logo.png" + } + PropertyChanges { + target: image2 + source: "images/" + "qt-logo.png" + } + PropertyChanges { + target: image3 + source: "images/" + (true ? "qt-logo.png" : "") + } + } + + MouseArea { + anchors.fill: parent + onClicked: parent.state = "SetImageState" + } + +} diff --git a/tests/auto/declarative/qdeclarativestates/data/Implementation/images/qt-logo.png b/tests/auto/declarative/qdeclarativestates/data/Implementation/images/qt-logo.png Binary files differnew file mode 100644 index 0000000..14ddf2a --- /dev/null +++ b/tests/auto/declarative/qdeclarativestates/data/Implementation/images/qt-logo.png diff --git a/tests/auto/declarative/qdeclarativestates/data/urlResolution.qml b/tests/auto/declarative/qdeclarativestates/data/urlResolution.qml new file mode 100644 index 0000000..8995b56 --- /dev/null +++ b/tests/auto/declarative/qdeclarativestates/data/urlResolution.qml @@ -0,0 +1,12 @@ +import Qt 4.7 +import "Implementation" + +Rectangle { + width: 100 + height: 200 + + MyType { + objectName: "MyType" + anchors.fill: parent + } +} diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp index f0b6759..578bcb4 100644 --- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp +++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp @@ -43,6 +43,7 @@ #include <QtDeclarative/qdeclarativecomponent.h> #include <private/qdeclarativeanchors_p_p.h> #include <private/qdeclarativerectangle_p.h> +#include <private/qdeclarativeimage_p.h> #include <private/qdeclarativetext_p.h> #include <private/qdeclarativepropertychanges_p.h> #include <private/qdeclarativestategroup_p.h> @@ -109,6 +110,7 @@ private slots: void reset(); void illegalObjectCreation(); void whenOrdering(); + void urlResolution(); }; void tst_qdeclarativestates::initTestCase() @@ -1016,6 +1018,27 @@ void tst_qdeclarativestates::whenOrdering() QCOMPARE(rect->state(), QLatin1String("")); } +void tst_qdeclarativestates::urlResolution() +{ + QDeclarativeEngine engine; + + QDeclarativeComponent c(&engine, SRCDIR "/data/urlResolution.qml"); + QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create()); + QVERIFY(rect != 0); + + QDeclarativeItem *myType = rect->findChild<QDeclarativeItem*>("MyType"); + QDeclarativeImage *image1 = rect->findChild<QDeclarativeImage*>("image1"); + QDeclarativeImage *image2 = rect->findChild<QDeclarativeImage*>("image2"); + QDeclarativeImage *image3 = rect->findChild<QDeclarativeImage*>("image3"); + QVERIFY(myType != 0 && image1 != 0 && image2 != 0 && image3 != 0); + + myType->setState("SetImageState"); + QUrl resolved = QUrl::fromLocalFile(SRCDIR "/data/Implementation/images/qt-logo.png"); + QCOMPARE(image1->source(), resolved); + QCOMPARE(image2->source(), resolved); + QCOMPARE(image3->source(), resolved); +} + QTEST_MAIN(tst_qdeclarativestates) #include "tst_qdeclarativestates.moc" |