From 4798de83c9f198bfc0a802a987c9002968fb6c2c Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 31 May 2016 15:07:12 +0200 Subject: Fixed revision sorting We used to sort wrong as soon as we got over revision 9. --- tests/storagetest.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'tests') diff --git a/tests/storagetest.cpp b/tests/storagetest.cpp index 31809ce..ee6900d 100644 --- a/tests/storagetest.cpp +++ b/tests/storagetest.cpp @@ -436,6 +436,20 @@ private slots: QCOMPARE(Sink::Storage::getTypeFromRevision(transaction, 1), QByteArray("type")); QCOMPARE(Sink::Storage::getUidFromRevision(transaction, 1), QByteArray("uid")); } + + void testRecordRevisionSorting() + { + Sink::Storage store(testDataPath, dbName, Sink::Storage::ReadWrite); + auto transaction = store.createTransaction(Sink::Storage::ReadWrite); + QByteArray result; + auto db = transaction.openDatabase("test", nullptr, false); + const auto uid = "{c5d06a9f-1534-4c52-b8ea-415db68bdadf}"; + //Ensure we can sort 1 and 10 properly (by default string comparison 10 comes before 6) + db.write(Sink::Storage::assembleKey(uid, 6), "value1"); + db.write(Sink::Storage::assembleKey(uid, 10), "value2"); + db.findLatest(uid, [&](const QByteArray &key, const QByteArray &value) { result = value; }); + QCOMPARE(result, QByteArray("value2")); + } }; QTEST_MAIN(StorageTest) -- cgit v1.2.3