void TestUpdater::updateToV2() { Updater u; u.setLocalRepository(testOutputUpdate); QCOMPARE(u.localRevision(), QString("1")); u.setTmpDirectory(testOutputUpdateTmp); u.setRemoteRepository("file:///" + dataRepoToV2 + "/"); { QSignalSpy spy(&u, SIGNAL(checkForUpdatesFinished(bool))); u.checkForUpdates(); QVERIFY(spy.wait()); QVERIFY2(u.state() == Updater::UpdateRequired, u.errorString().toLatin1()); } { QSignalSpy spyWarnings(&u, SIGNAL(warning(Warning))); QSignalSpy spy(&u, SIGNAL(updateFinished(bool))); u.update(); QVERIFY(spy.wait()); QCOMPARE(spy.size(), 1); QCOMPARE(spy[0].size(), 1); QCOMPARE(spy[0][0].toBool(), true); QVERIFY2(u.state() == Updater::Uptodate, u.errorString().toLatin1()); QCOMPARE(u.localRevision(), QString("2")); QCOMPARE(spyWarnings.size(), 0); } try{ (TestUtils::assertFileEquals(testOutputUpdate + "/dir2/patch_same.txt", dataDir + "/rev2/dir2/patch_same.txt")); (TestUtils::assertFileEquals(testOutputUpdate + "/path_diff.txt", dataDir + "/rev2/path_diff.txt")); (TestUtils::assertFileEquals(testOutputUpdate + "/path_diff2.txt", dataDir + "/rev2/path_diff2.txt")); (TestUtils::assertFileEquals(testOutputUpdate + "/add.txt", dataDir + "/rev2/add.txt")); (TestUtils::assertFileEquals(testOutputUpdate + "/empty_dir", dataDir + "/rev2/empty_dir")); } catch(std::exception &msg) { QFAIL(msg.what()); } QVERIFY(!QFile::exists(testOutputUpdate + "/rmfile.txt")); QVERIFY(!QFileInfo(testOutputUpdate + "/dirs/empty_dir2").isDir()); QCOMPARE(QDir(testOutputUpdateTmp).entryList(QDir::NoDotAndDotDot).count(), 0); }