Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kamm <mail@ckamm.de>2018-12-20 13:24:41 +0300
committerckamm <mail@ckamm.de>2019-01-07 12:09:03 +0300
commitdf1723c9b296f5446572b92887eb5bca24bb7c12 (patch)
treebf294e010ef1826c6372b22d72b9fbeb80386afb /test/testsyncjournaldb.cpp
parenta07be018d178c26cf35689c5ce70d8af2bed5190 (diff)
vfs: Remove newFilesAreVirtual - use root PinState instead
This unifies how to deal with pin states. Also enable reading a folders direct pin state vs its effective pin state.
Diffstat (limited to 'test/testsyncjournaldb.cpp')
-rw-r--r--test/testsyncjournaldb.cpp64
1 files changed, 42 insertions, 22 deletions
diff --git a/test/testsyncjournaldb.cpp b/test/testsyncjournaldb.cpp
index cbc82f660..9e5b9a9f2 100644
--- a/test/testsyncjournaldb.cpp
+++ b/test/testsyncjournaldb.cpp
@@ -331,56 +331,76 @@ private slots:
{
auto make = [&](const QByteArray &path, PinState state) {
_db.setPinStateForPath(path, state);
+ auto pinState = _db.rawPinStateForPath(path);
+ QVERIFY(pinState);
+ QCOMPARE(*pinState, state);
};
- auto get = [&](const QByteArray &path) {
- return _db.pinStateForPath(path);
+ auto get = [&](const QByteArray &path) -> PinState {
+ auto state = _db.effectivePinStateForPath(path);
+ if (!state) {
+ QTest::qFail("couldn't read pin state", __FILE__, __LINE__);
+ return PinState::Inherited;
+ }
+ return *state;
};
// Make a thrice-nested setup
make("local", PinState::AlwaysLocal);
make("online", PinState::OnlineOnly);
- make("unspec", PinState::Unspecified);
- for (auto base : {"local/", "online/", "unspec/"}) {
- make(QByteArray(base) + "unspec", PinState::Unspecified);
+ make("inherit", PinState::Inherited);
+ for (auto base : {"local/", "online/", "inherit/"}) {
+ make(QByteArray(base) + "inherit", PinState::Inherited);
make(QByteArray(base) + "local", PinState::AlwaysLocal);
make(QByteArray(base) + "online", PinState::OnlineOnly);
- for (auto base2 : {"local/", "online/", "unspec/"}) {
- make(QByteArray(base) + base2 + "/unspec", PinState::Unspecified);
+ for (auto base2 : {"local/", "online/", "inherit/"}) {
+ make(QByteArray(base) + base2 + "/inherit", PinState::Inherited);
make(QByteArray(base) + base2 + "/local", PinState::AlwaysLocal);
make(QByteArray(base) + base2 + "/online", PinState::OnlineOnly);
}
}
- // Baseline direct checks
+ // Baseline direct checks (the fallback for unset root pinstate is AlwaysLocal)
QCOMPARE(get("local"), PinState::AlwaysLocal);
QCOMPARE(get("online"), PinState::OnlineOnly);
- QCOMPARE(get("unspec"), PinState::Unspecified);
- QCOMPARE(get("nonexistant"), PinState::Unspecified);
+ QCOMPARE(get("inherit"), PinState::AlwaysLocal);
+ QCOMPARE(get("nonexistant"), PinState::AlwaysLocal);
QCOMPARE(get("online/local"), PinState::AlwaysLocal);
QCOMPARE(get("local/online"), PinState::OnlineOnly);
- QCOMPARE(get("unspec/local"), PinState::AlwaysLocal);
- QCOMPARE(get("unspec/online"), PinState::OnlineOnly);
- QCOMPARE(get("unspec/unspec"), PinState::Unspecified);
- QCOMPARE(get("unspec/nonexistant"), PinState::Unspecified);
+ QCOMPARE(get("inherit/local"), PinState::AlwaysLocal);
+ QCOMPARE(get("inherit/online"), PinState::OnlineOnly);
+ QCOMPARE(get("inherit/inherit"), PinState::AlwaysLocal);
+ QCOMPARE(get("inherit/nonexistant"), PinState::AlwaysLocal);
// Inheriting checks, level 1
- QCOMPARE(get("local/unspec"), PinState::AlwaysLocal);
+ QCOMPARE(get("local/inherit"), PinState::AlwaysLocal);
QCOMPARE(get("local/nonexistant"), PinState::AlwaysLocal);
- QCOMPARE(get("online/unspec"), PinState::OnlineOnly);
+ QCOMPARE(get("online/inherit"), PinState::OnlineOnly);
QCOMPARE(get("online/nonexistant"), PinState::OnlineOnly);
// Inheriting checks, level 2
- QCOMPARE(get("local/unspec/unspec"), PinState::AlwaysLocal);
- QCOMPARE(get("local/local/unspec"), PinState::AlwaysLocal);
+ QCOMPARE(get("local/inherit/inherit"), PinState::AlwaysLocal);
+ QCOMPARE(get("local/local/inherit"), PinState::AlwaysLocal);
QCOMPARE(get("local/local/nonexistant"), PinState::AlwaysLocal);
- QCOMPARE(get("local/online/unspec"), PinState::OnlineOnly);
+ QCOMPARE(get("local/online/inherit"), PinState::OnlineOnly);
QCOMPARE(get("local/online/nonexistant"), PinState::OnlineOnly);
- QCOMPARE(get("online/unspec/unspec"), PinState::OnlineOnly);
- QCOMPARE(get("online/local/unspec"), PinState::AlwaysLocal);
+ QCOMPARE(get("online/inherit/inherit"), PinState::OnlineOnly);
+ QCOMPARE(get("online/local/inherit"), PinState::AlwaysLocal);
QCOMPARE(get("online/local/nonexistant"), PinState::AlwaysLocal);
- QCOMPARE(get("online/online/unspec"), PinState::OnlineOnly);
+ QCOMPARE(get("online/online/inherit"), PinState::OnlineOnly);
QCOMPARE(get("online/online/nonexistant"), PinState::OnlineOnly);
+
+ // Check changing the root pin state
+ make("", PinState::OnlineOnly);
+ QCOMPARE(get("local"), PinState::AlwaysLocal);
+ QCOMPARE(get("online"), PinState::OnlineOnly);
+ QCOMPARE(get("inherit"), PinState::OnlineOnly);
+ QCOMPARE(get("nonexistant"), PinState::OnlineOnly);
+ make("", PinState::AlwaysLocal);
+ QCOMPARE(get("local"), PinState::AlwaysLocal);
+ QCOMPARE(get("online"), PinState::OnlineOnly);
+ QCOMPARE(get("inherit"), PinState::AlwaysLocal);
+ QCOMPARE(get("nonexistant"), PinState::AlwaysLocal);
}
private: