desktop/test/testsyncfileitem.cpp

76 строки
2.2 KiB
C++

/*
* This software is in the public domain, furnished "as is", without technical
* support, and with no warranty, express or implied, as to its usefulness for
* any purpose.
* */
#include <QtTest>
#include "syncfileitem.h"
#include "logger.h"
using namespace OCC;
class TestSyncFileItem : public QObject
{
Q_OBJECT
private slots:
void initTestCase()
{
OCC::Logger::instance()->setLogFlush(true);
OCC::Logger::instance()->setLogDebug(true);
QStandardPaths::setTestModeEnabled(true);
}
void cleanupTestCase() {
}
OCC::SyncFileItem createItem( const QString& file ) {
SyncFileItem i;
i._file = file;
return i;
}
void testComparator_data() {
QTest::addColumn<SyncFileItem>("a");
QTest::addColumn<SyncFileItem>("b");
QTest::addColumn<SyncFileItem>("c");
QTest::newRow("a1") << createItem("client") << createItem("client/build") << createItem("client-build") ;
QTest::newRow("a2") << createItem("test/t1") << createItem("test/t2") << createItem("test/t3") ;
QTest::newRow("a3") << createItem("ABCD") << createItem("abcd") << createItem("zzzz");
SyncFileItem movedItem1;
movedItem1._file = "folder/source/file.f";
movedItem1._renameTarget = "folder/destination/file.f";
movedItem1._instruction = CSYNC_INSTRUCTION_RENAME;
QTest::newRow("move1") << createItem("folder/destination") << movedItem1 << createItem("folder/destination-2");
QTest::newRow("move2") << createItem("folder/destination/1") << movedItem1 << createItem("folder/source");
QTest::newRow("move3") << createItem("abc") << movedItem1 << createItem("ijk");
}
void testComparator() {
QFETCH( SyncFileItem , a );
QFETCH( SyncFileItem , b );
QFETCH( SyncFileItem , c );
QVERIFY(a < b);
QVERIFY(b < c);
QVERIFY(a < c);
QVERIFY(!(b < a));
QVERIFY(!(c < b));
QVERIFY(!(c < a));
QVERIFY(!(a < a));
QVERIFY(!(b < b));
QVERIFY(!(c < c));
}
};
QTEST_APPLESS_MAIN(TestSyncFileItem)
#include "testsyncfileitem.moc"