From: Andrew den Exter Date: Thu, 12 Jul 2012 04:31:50 +0000 (+1000) Subject: Add tests for copying QQuickChangeSets and debug output. X-Git-Tag: 1.0_branch~100 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8cf981c742d58474e7aed383c5efd3f386a12625;p=profile%2Fivi%2Fqtdeclarative.git Add tests for copying QQuickChangeSets and debug output. Change-Id: I4367f9d15e216f48116a7652c8fd064c706c9d35 Reviewed-by: Bea Lam --- diff --git a/tests/auto/qml/qquickchangeset/tst_qquickchangeset.cpp b/tests/auto/qml/qquickchangeset/tst_qquickchangeset.cpp index 6ea4556..b9fe279 100644 --- a/tests/auto/qml/qquickchangeset/tst_qquickchangeset.cpp +++ b/tests/auto/qml/qquickchangeset/tst_qquickchangeset.cpp @@ -56,6 +56,9 @@ private slots: void insertConsecutive_data(); void insertConsecutive(); + void copy(); + void debug(); + // These create random sequences and verify a list with the reordered changes applied is the // same as one with the unordered changes applied. private: @@ -178,6 +181,7 @@ public: } return true; } + }; bool operator ==(const tst_qquickchangeset::Signal &left, const tst_qquickchangeset::Signal &right) @@ -189,6 +193,13 @@ bool operator ==(const tst_qquickchangeset::Signal &left, const tst_qquickchange && (left.moveId == -1 || left.offset == right.offset); } +QT_BEGIN_NAMESPACE +bool operator ==(const QQuickChangeSet::Change &left, const QQuickChangeSet::Change &right) +{ + return left.index == right.index && left.count == right.count && left.moveId == right.moveId; +} +QT_END_NAMESPACE + QDebug operator <<(QDebug debug, const tst_qquickchangeset::Signal &signal) { if (signal.isInsert() && signal.moveId == -1) @@ -1412,6 +1423,56 @@ void tst_qquickchangeset::insertConsecutive() QCOMPARE(changes, output); } +void tst_qquickchangeset::copy() +{ + QQuickChangeSet changeSet; + changeSet.remove(0, 12); + changeSet.remove(5, 4); + changeSet.insert(3, 9); + changeSet.insert(15, 2); + changeSet.change(24, 8); + changeSet.move(3, 5, 9, 0); + + QQuickChangeSet copy(changeSet); + + QQuickChangeSet assign; + assign = changeSet; + + copy.move(4, 2, 5, 1); + assign.move(4, 2, 5, 1); + changeSet.move(4, 2, 5, 1); + + QCOMPARE(copy.removes(), changeSet.removes()); + QCOMPARE(copy.inserts(), changeSet.inserts()); + QCOMPARE(copy.changes(), changeSet.changes()); + QCOMPARE(copy.difference(), changeSet.difference()); + + QCOMPARE(assign.removes(), changeSet.removes()); + QCOMPARE(assign.inserts(), changeSet.inserts()); + QCOMPARE(assign.changes(), changeSet.changes()); + QCOMPARE(assign.difference(), changeSet.difference()); +} + +void tst_qquickchangeset::debug() +{ + QQuickChangeSet changeSet; + changeSet.remove(0, 12); + changeSet.remove(5, 4); + changeSet.insert(3, 9); + changeSet.insert(15, 2); + changeSet.change(24, 8); + + QTest::ignoreMessage(QtDebugMsg, "QQuickChangeSet(Remove(0,12) Remove(5,4) Insert(3,9) Insert(15,2) Change(24,8) )"); + qDebug() << changeSet; + + changeSet.clear(); + + QTest::ignoreMessage(QtDebugMsg, "QQuickChangeSet(Remove(12,4,0,0) Insert(5,4,0,0) )"); + + changeSet.move(12, 5, 4, 0); + qDebug() << changeSet; +} + void tst_qquickchangeset::random_data() { QTest::addColumn("seed");