From efb25bac3131b4ca39a44a16526d88c814986d60 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Mon, 16 Nov 2009 13:50:00 +1000 Subject: Autotests. --- src/declarative/util/qmlstate.cpp | 7 +++++-- .../declarative/qmlbinding/data/test-binding.qml | 2 +- tests/auto/declarative/qmlbinding/tst_qmlbinding.cpp | 6 ++++++ .../qmlsystempalette/tst_qmlsystempalette.cpp | 2 ++ tests/auto/declarative/states/data/explicit.qml | 1 + tests/auto/declarative/states/tst_states.cpp | 20 ++++++++++++++++++++ 6 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp index 7cc548f..1f5dbad 100644 --- a/src/declarative/util/qmlstate.cpp +++ b/src/declarative/util/qmlstate.cpp @@ -433,8 +433,11 @@ void QmlState::apply(QmlStateGroup *group, QmlTransition *trans, QmlState *rever // Output for debugging if (stateChangeDebug()) { foreach(const Action &action, applyList) { - qWarning() << " Action:" << action.property.object() - << action.property.name() << action.toValue; + if (action.event) + qWarning() << " Action event:" << action.event; + else + qWarning() << " Action:" << action.property.object() + << action.property.name() << action.toValue; } } diff --git a/tests/auto/declarative/qmlbinding/data/test-binding.qml b/tests/auto/declarative/qmlbinding/data/test-binding.qml index d2a22f5..e9101e4 100644 --- a/tests/auto/declarative/qmlbinding/data/test-binding.qml +++ b/tests/auto/declarative/qmlbinding/data/test-binding.qml @@ -10,7 +10,7 @@ Rectangle { Rectangle { id: r1; width: 1; height: 1; color: "yellow" } Rectangle { id: r2; width: 1; height: 1; color: "red" } - Binding { target: screen; property: "text"; value: s1.text } + Binding { target: screen; property: "text"; value: s1.text; objectName: "binding1" } Binding { target: screen; property: "color"; value: r1.color } Binding { target: screen; property: "color"; when: screen.changeColor == true; value: r2.color } } diff --git a/tests/auto/declarative/qmlbinding/tst_qmlbinding.cpp b/tests/auto/declarative/qmlbinding/tst_qmlbinding.cpp index e5aacc7..0a8508a 100644 --- a/tests/auto/declarative/qmlbinding/tst_qmlbinding.cpp +++ b/tests/auto/declarative/qmlbinding/tst_qmlbinding.cpp @@ -77,6 +77,12 @@ void tst_qmlbinding::binding() rect->setProperty("changeColor", true); QCOMPARE(rect->color(), QColor("red")); + QmlBind *binding = qobject_cast(rect->findChild("binding1")); + QVERIFY(binding != 0); + QCOMPARE(binding->object(), rect); + QCOMPARE(binding->property(), QLatin1String("text")); + QCOMPARE(binding->value().toString(), QLatin1String("Hello")); + delete rect; } diff --git a/tests/auto/declarative/qmlsystempalette/tst_qmlsystempalette.cpp b/tests/auto/declarative/qmlsystempalette/tst_qmlsystempalette.cpp index 2648463..008dfb3 100644 --- a/tests/auto/declarative/qmlsystempalette/tst_qmlsystempalette.cpp +++ b/tests/auto/declarative/qmlsystempalette/tst_qmlsystempalette.cpp @@ -103,6 +103,7 @@ void tst_qmlsystempalette::inactivePalette() QmlSystemPalette *object = qobject_cast(component.create()); QVERIFY(object != 0); + QVERIFY(object->colorGroup() == QmlSystemPalette::Inactive); QPalette palette; palette.setCurrentColorGroup(QPalette::Inactive); @@ -131,6 +132,7 @@ void tst_qmlsystempalette::disabledPalette() QmlSystemPalette *object = qobject_cast(component.create()); QVERIFY(object != 0); + QVERIFY(object->colorGroup() == QmlSystemPalette::Disabled); QPalette palette; palette.setCurrentColorGroup(QPalette::Disabled); diff --git a/tests/auto/declarative/states/data/explicit.qml b/tests/auto/declarative/states/data/explicit.qml index 271115a..ca7e274 100644 --- a/tests/auto/declarative/states/data/explicit.qml +++ b/tests/auto/declarative/states/data/explicit.qml @@ -7,6 +7,7 @@ Rectangle { states: State { name: "blue" PropertyChanges { + objectName: "changes" target: MyRectangle; explicit: true color: sourceColor } diff --git a/tests/auto/declarative/states/tst_states.cpp b/tests/auto/declarative/states/tst_states.cpp index 3d8f303..fe90191 100644 --- a/tests/auto/declarative/states/tst_states.cpp +++ b/tests/auto/declarative/states/tst_states.cpp @@ -42,6 +42,7 @@ #include #include #include +#include class tst_states : public QObject { @@ -61,6 +62,7 @@ private slots: void script(); void restoreEntryValues(); void explicitChanges(); + void propertyErrors(); }; void tst_states::basicChanges() @@ -544,6 +546,10 @@ void tst_states::explicitChanges() QmlGraphicsRectangle *rect = qobject_cast(rectComponent.create()); QVERIFY(rect != 0); + QmlPropertyChanges *changes = qobject_cast(rect->findChild("changes")); + QVERIFY(changes != 0); + QVERIFY(changes->isExplicit()); + QCOMPARE(rect->color(),QColor("red")); rect->setState("blue"); @@ -561,6 +567,20 @@ void tst_states::explicitChanges() QCOMPARE(rect->color(),QColor("yellow")); } +void tst_states::propertyErrors() +{ + QmlEngine engine; + QmlComponent rectComponent(&engine, SRCDIR "/data/propertyErrors.qml"); + QmlGraphicsRectangle *rect = qobject_cast(rectComponent.create()); + QVERIFY(rect != 0); + + QCOMPARE(rect->color(),QColor("red")); + + QTest::ignoreMessage(QtWarningMsg, "QML QmlPropertyChanges (file://" SRCDIR "/data/propertyErrors.qml:8:9) Cannot assign to non-existant property \"colr\""); + QTest::ignoreMessage(QtWarningMsg, "QML QmlPropertyChanges (file://" SRCDIR "/data/propertyErrors.qml:8:9) Cannot assign to read-only property \"wantsFocus\""); + rect->setState("blue"); +} + QTEST_MAIN(tst_states) #include "tst_states.moc" -- cgit v0.12