43
44
QString m_modulePath;
45
QQuickView *createView(const QString &file)
46
QQuickView *createView(const QString &file, QSignalSpy **spy = 0)
47
48
QQuickView *view = new QQuickView(0);
50
*spy = new QSignalSpy(view->engine(), SIGNAL(warnings(QList<QQmlError>)));
51
(*spy)->setParent(view);
48
53
view->engine()->addImportPath(m_modulePath);
49
54
view->setSource(QUrl::fromLocalFile(file));
50
55
if (!view->rootObject()) {
224
229
void test_InvalidUID()
226
QQuickView *view = createView("InvalidUID.qml");
232
QQuickView *view = createView("InvalidUID.qml", &spy);
234
QCOMPARE(spy->count(), 1);
228
235
QObject *testItem = view->rootObject()->findChild<QObject*>("testItem");
229
236
QVERIFY(testItem);
231
238
testItem->setObjectName("updated");
234
view = createView("InvalidUID.qml");
241
view = createView("InvalidUID.qml", &spy);
243
QCOMPARE(spy->count(), 1);
236
244
testItem = view->rootObject()->findChild<QObject*>("updated");
237
245
QVERIFY(testItem == 0);
258
266
void test_InvalidGroupProperty()
260
QQuickView *view = createView("InvalidGroupProperty.qml");
269
QQuickView *view = createView("InvalidGroupProperty.qml", &spy);
271
QCOMPARE(spy->count(), 1);
262
272
QObject *testItem = view->rootObject()->findChild<QObject*>("testItem");
263
273
QVERIFY(testItem);
265
275
testItem->setObjectName("group");
268
view = createView("InvalidGroupProperty.qml");
278
view = createView("InvalidGroupProperty.qml", &spy);
280
QCOMPARE(spy->count(), 1);
270
281
testItem = view->rootObject()->findChild<QObject*>("group");
271
282
QVERIFY(testItem == 0);
361
void test_ComponentsWithStateSavers()
363
QQuickView *view = createView("ComponentsWithStateSavers.qml");
365
QObject *control1 = view->rootObject()->findChild<QObject*>("control1");
367
QObject *control2 = view->rootObject()->findChild<QObject*>("control2");
369
UCStateSaverAttached *stateSaver1 = qobject_cast<UCStateSaverAttached*>(qmlAttachedPropertiesObject<UCStateSaver>(control1, false));
370
QVERIFY(stateSaver1);
371
QVERIFY(stateSaver1->enabled());
372
UCStateSaverAttached *stateSaver2 = qobject_cast<UCStateSaverAttached*>(qmlAttachedPropertiesObject<UCStateSaver>(control2, false));
373
QVERIFY(stateSaver2);
374
QVERIFY(stateSaver2->enabled());
376
QVERIFY(control1->setProperty("color", QColor("green")));
377
QVERIFY(control2->setProperty("color", QColor("blue")));
380
view = createView("ComponentsWithStateSavers.qml");
381
control1 = view->rootObject()->findChild<QObject*>("control1");
383
control2 = view->rootObject()->findChild<QObject*>("control2");
385
stateSaver1 = qobject_cast<UCStateSaverAttached*>(qmlAttachedPropertiesObject<UCStateSaver>(control1, false));
386
QVERIFY(stateSaver1);
387
QVERIFY(stateSaver1->enabled());
388
stateSaver2 = qobject_cast<UCStateSaverAttached*>(qmlAttachedPropertiesObject<UCStateSaver>(control2, false));
389
QVERIFY(stateSaver2);
390
QVERIFY(stateSaver2->enabled());
393
QCOMPARE(control1->property("color"), QVariant(QColor("green")));
394
QCOMPARE(control2->property("color"), QVariant(QColor("blue")));
398
void test_ComponentsWithStateSaversNoId()
401
QQuickView *view = createView("ComponentsWithStateSaversNoId.qml", &spy);
403
QObject *control1 = view->rootObject()->findChild<QObject*>("control1");
405
QObject *control2 = view->rootObject()->findChild<QObject*>("control2");
407
UCStateSaverAttached *stateSaver1 = qobject_cast<UCStateSaverAttached*>(qmlAttachedPropertiesObject<UCStateSaver>(control1, false));
408
QVERIFY(stateSaver1);
409
QVERIFY(stateSaver1->enabled() == false);
410
QCOMPARE(spy->count(), 1);
411
UCStateSaverAttached *stateSaver2 = qobject_cast<UCStateSaverAttached*>(qmlAttachedPropertiesObject<UCStateSaver>(control2, false));
412
QVERIFY(stateSaver2);
413
QVERIFY(stateSaver2->enabled());
352
418
QTEST_MAIN(tst_StateSaverTest)