diff options
author | Christian Kamm <mail@ckamm.de> | 2017-03-20 16:28:32 +0300 |
---|---|---|
committer | ckamm <mail@ckamm.de> | 2017-03-21 19:07:35 +0300 |
commit | f67989afea6c2c98b6a3d2f4ee12ca0b01df97c8 (patch) | |
tree | ab656e3473fce7bd8575365c06f366f63c3c7d08 /test/testfolderman.cpp | |
parent | 14fef4a0d3d259b538f59c8831cf65719c642f3c (diff) |
Wizards: Never propose an existing folder for syncing #5597
Diffstat (limited to 'test/testfolderman.cpp')
-rw-r--r-- | test/testfolderman.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/testfolderman.cpp b/test/testfolderman.cpp index e62437bdd..b6e6478f5 100644 --- a/test/testfolderman.cpp +++ b/test/testfolderman.cpp @@ -153,6 +153,54 @@ private slots: QSKIP("Test not supported with Qt4", SkipSingle); #endif } + + void testFindGoodPathForNewSyncFolder() + { +#if QT_VERSION >= QT_VERSION_CHECK(5, 1, 0) + // SETUP + + QTemporaryDir dir; + ConfigFile::setConfDir(dir.path()); // we don't want to pollute the user's config file + QVERIFY(dir.isValid()); + QDir dir2(dir.path()); + QVERIFY(dir2.mkpath("sub/ownCloud1/folder/f")); + QVERIFY(dir2.mkpath("ownCloud")); + QVERIFY(dir2.mkpath("ownCloud2")); + QVERIFY(dir2.mkpath("ownCloud2/foo")); + QVERIFY(dir2.mkpath("sub/free")); + QVERIFY(dir2.mkpath("free2/sub")); + QString dirPath = dir2.canonicalPath(); + + AccountPtr account = Account::create(); + QUrl url("http://example.de"); + HttpCredentialsTest *cred = new HttpCredentialsTest("testuser", "secret"); + account->setCredentials(cred); + account->setUrl( url ); + + AccountStatePtr newAccountState(new AccountState(account)); + FolderMan *folderman = FolderMan::instance(); + QCOMPARE(folderman, &_fm); + QVERIFY(folderman->addFolder(newAccountState.data(), folderDefinition(dirPath + "/sub/ownCloud/"))); + QVERIFY(folderman->addFolder(newAccountState.data(), folderDefinition(dirPath + "/ownCloud2/"))); + + // TEST + + QCOMPARE(folderman->findGoodPathForNewSyncFolder(dirPath + "/oc", url), + QString(dirPath + "/oc")); + QCOMPARE(folderman->findGoodPathForNewSyncFolder(dirPath + "/ownCloud", url), + QString(dirPath + "/ownCloud3")); + QCOMPARE(folderman->findGoodPathForNewSyncFolder(dirPath + "/ownCloud2", url), + QString(dirPath + "/ownCloud22")); + QCOMPARE(folderman->findGoodPathForNewSyncFolder(dirPath + "/ownCloud2/foo", url), + QString(dirPath + "/ownCloud2/foo")); + QCOMPARE(folderman->findGoodPathForNewSyncFolder(dirPath + "/ownCloud2/bar", url), + QString(dirPath + "/ownCloud2/bar")); + QCOMPARE(folderman->findGoodPathForNewSyncFolder(dirPath + "/sub", url), + QString(dirPath + "/sub2")); +#else + QSKIP("Test not supported with Qt4", SkipSingle); +#endif + } }; QTEST_APPLESS_MAIN(TestFolderMan) |