summaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp')
-rw-r--r--tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
index fe7ec15..91883c9 100644
--- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
+++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
@@ -106,6 +106,7 @@ private slots:
void illegalTempState();
void nonExistantProperty();
void reset();
+ void illegalObjectCreation();
};
void tst_qdeclarativestates::initTestCase()
@@ -564,7 +565,7 @@ void tst_qdeclarativestates::anchorChanges()
rect->setState("right");
QCOMPARE(innerRect->x(), qreal(150));
QCOMPARE(aChanges->reset(), QString("left"));
- QCOMPARE(aChanges->object(), innerRect);
+ QCOMPARE(aChanges->object(), qobject_cast<QDeclarativeItem*>(innerRect));
QCOMPARE(aChanges->right().item, rect->right().item);
QCOMPARE(aChanges->right().anchorLine, rect->right().anchorLine);
@@ -621,7 +622,7 @@ void tst_qdeclarativestates::anchorChanges3()
QVERIFY(aChanges != 0);
rect->setState("reanchored");
- QCOMPARE(aChanges->object(), innerRect);
+ QCOMPARE(aChanges->object(), qobject_cast<QDeclarativeItem*>(innerRect));
QCOMPARE(aChanges->left().item, leftGuideline->left().item);
QCOMPARE(aChanges->left().anchorLine, leftGuideline->left().anchorLine);
QCOMPARE(aChanges->right().item, rect->right().item);
@@ -671,7 +672,7 @@ void tst_qdeclarativestates::anchorChanges4()
QVERIFY(aChanges != 0);
rect->setState("reanchored");
- QCOMPARE(aChanges->object(), innerRect);
+ QCOMPARE(aChanges->object(), qobject_cast<QDeclarativeItem*>(innerRect));
QCOMPARE(aChanges->horizontalCenter().item, bottomGuideline->horizontalCenter().item);
QCOMPARE(aChanges->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine);
QCOMPARE(aChanges->verticalCenter().item, leftGuideline->verticalCenter().item);
@@ -706,7 +707,7 @@ void tst_qdeclarativestates::anchorChanges5()
QVERIFY(aChanges != 0);
rect->setState("reanchored");
- QCOMPARE(aChanges->object(), innerRect);
+ QCOMPARE(aChanges->object(), qobject_cast<QDeclarativeItem*>(innerRect));
QCOMPARE(aChanges->horizontalCenter().item, bottomGuideline->horizontalCenter().item);
QCOMPARE(aChanges->horizontalCenter().anchorLine, bottomGuideline->horizontalCenter().anchorLine);
QCOMPARE(aChanges->baseline().item, leftGuideline->baseline().item);
@@ -964,6 +965,19 @@ void tst_qdeclarativestates::reset()
QVERIFY(text->width() > text->height());
}
+void tst_qdeclarativestates::illegalObjectCreation()
+{
+ QDeclarativeEngine engine;
+
+ QDeclarativeComponent component(&engine, SRCDIR "/data/illegalObj.qml");
+ QList<QDeclarativeError> errors = component.errors();
+ QVERIFY(errors.count() == 1);
+ const QDeclarativeError &error = errors.at(0);
+ QCOMPARE(error.line(), 9);
+ QCOMPARE(error.column(), 23);
+ QCOMPARE(error.description().toUtf8().constData(), "PropertyChanges does not support creating state-specific objects.");
+}
+
QTEST_MAIN(tst_qdeclarativestates)
#include "tst_qdeclarativestates.moc"