aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2012-07-12 14:31:50 +1000
committerQt by Nokia <qt-info@nokia.com>2012-08-07 06:35:54 +0200
commit8cf981c742d58474e7aed383c5efd3f386a12625 (patch)
tree2f4aebfc2612a0ab4d2367143f49adb1520411d2 /tests
parentc0c5890b3f9cce4f4d75903677095e8d7da8026c (diff)
Add tests for copying QQuickChangeSets and debug output.
Change-Id: I4367f9d15e216f48116a7652c8fd064c706c9d35 Reviewed-by: Bea Lam <bea.lam@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qquickchangeset/tst_qquickchangeset.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/auto/qml/qquickchangeset/tst_qquickchangeset.cpp b/tests/auto/qml/qquickchangeset/tst_qquickchangeset.cpp
index 6ea4556f1a..b9fe279b21 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<int>("seed");