tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp
changeset 37 758a864f9613
parent 33 3e2da88830cd
--- a/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp	Fri Sep 17 08:34:18 2010 +0300
+++ b/tests/auto/declarative/qdeclarativestates/tst_qdeclarativestates.cpp	Mon Oct 04 01:19:32 2010 +0300
@@ -139,6 +139,7 @@
     void urlResolution();
     void unnamedWhen();
     void returnToBase();
+    void extendsBug();
 };
 
 void tst_qdeclarativestates::initTestCase()
@@ -1186,6 +1187,21 @@
     QCOMPARE(rect->property("stateString").toString(), QLatin1String("originalState"));
 }
 
+//QTBUG-12559
+void tst_qdeclarativestates::extendsBug()
+{
+    QDeclarativeEngine engine;
+
+    QDeclarativeComponent c(&engine, SRCDIR "/data/extendsBug.qml");
+    QDeclarativeRectangle *rect = qobject_cast<QDeclarativeRectangle*>(c.create());
+    QVERIFY(rect != 0);
+    QDeclarativeItemPrivate *rectPrivate = QDeclarativeItemPrivate::get(rect);
+    QDeclarativeRectangle *greenRect = rect->findChild<QDeclarativeRectangle*>("greenRect");
+
+    rectPrivate->setState("b");
+    QCOMPARE(greenRect->x(), qreal(100));
+    QCOMPARE(greenRect->y(), qreal(100));
+}
 
 QTEST_MAIN(tst_qdeclarativestates)