void tst_qqmllistreference::qmllistreference_invalid() { TestType tt; // Invalid { QQmlListReference r; QVERIFY(r.isValid() == false); QVERIFY(r.object() == 0); QVERIFY(r.listElementType() == 0); QVERIFY(r.canAt() == false); QVERIFY(r.canClear() == false); QVERIFY(r.canCount() == false); QVERIFY(r.append(0) == false); QVERIFY(r.at(10) == 0); QVERIFY(r.clear() == false); QVERIFY(r.count() == 0); QVERIFY(r.isReadable() == false); QVERIFY(r.isManipulable() == false); } // Non-property { QQmlListReference r(&tt, "blah"); QVERIFY(r.isValid() == false); QVERIFY(r.object() == 0); QVERIFY(r.listElementType() == 0); QVERIFY(r.canAt() == false); QVERIFY(r.canClear() == false); QVERIFY(r.canCount() == false); QVERIFY(r.append(0) == false); QVERIFY(r.at(10) == 0); QVERIFY(r.clear() == false); QVERIFY(r.count() == 0); QVERIFY(r.isReadable() == false); QVERIFY(r.isManipulable() == false); } // Non-list property { QQmlListReference r(&tt, "intProperty"); QVERIFY(r.isValid() == false); QVERIFY(r.object() == 0); QVERIFY(r.listElementType() == 0); QVERIFY(r.canAt() == false); QVERIFY(r.canClear() == false); QVERIFY(r.canCount() == false); QVERIFY(r.append(0) == false); QVERIFY(r.at(10) == 0); QVERIFY(r.clear() == false); QVERIFY(r.count() == 0); QVERIFY(r.isReadable() == false); QVERIFY(r.isManipulable() == false); } }
void tst_qqmllistreference::object() { TestType *tt = new TestType; { QQmlListReference ref; QVERIFY(ref.object() == 0); } { QQmlListReference ref(tt, "blah"); QVERIFY(ref.object() == 0); } { QQmlListReference ref(tt, "data"); QVERIFY(ref.object() == tt); delete tt; QVERIFY(ref.object() == 0); } }