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

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBalazs Gyurak <ba32107@gmail.com>2019-06-19 03:42:19 +0300
committerJonathan White <support@dmapps.us>2019-06-19 03:42:19 +0300
commit05c11d1b7c4e53ac9a3207bb9a20cf79d8db9492 (patch)
treea2c89ae32e09571f2b3a8cd3f786fd2466e258a1 /tests/TestGroup.cpp
parent1e915eef89ab6d076a8313f314180a051dcba8ef (diff)
CLI: Add 'flatten' option to the 'ls' command (#3276)
* Fixes #925 * Add 'flatten' option to CLI ls command * Add test for Group::hierarchy() and man page for ls --flatten * Rename group sort test to align with others
Diffstat (limited to 'tests/TestGroup.cpp')
-rw-r--r--tests/TestGroup.cpp67
1 files changed, 64 insertions, 3 deletions
diff --git a/tests/TestGroup.cpp b/tests/TestGroup.cpp
index 7d42f161a..9c3e52231 100644
--- a/tests/TestGroup.cpp
+++ b/tests/TestGroup.cpp
@@ -635,28 +635,57 @@ void TestGroup::testPrint()
Group* group1 = new Group();
group1->setName("group1");
+ group1->setParent(db->rootGroup());
Entry* entry2 = new Entry();
-
entry2->setTitle(QString("entry2"));
entry2->setGroup(group1);
entry2->setUuid(QUuid::createUuid());
- group1->setParent(db->rootGroup());
+ Group* group2 = new Group();
+ group2->setName("group2");
+ group2->setParent(db->rootGroup());
+
+ Group* subGroup = new Group();
+ subGroup->setName("subgroup");
+ subGroup->setParent(group2);
+
+ Entry* entry3 = new Entry();
+ entry3->setTitle(QString("entry3"));
+ entry3->setGroup(subGroup);
+ entry3->setUuid(QUuid::createUuid());
output = db->rootGroup()->print();
QVERIFY(output.contains(QString("entry1\n")));
QVERIFY(output.contains(QString("group1/\n")));
QVERIFY(!output.contains(QString(" entry2\n")));
+ QVERIFY(output.contains(QString("group2/\n")));
+ QVERIFY(!output.contains(QString(" subgroup\n")));
output = db->rootGroup()->print(true);
QVERIFY(output.contains(QString("entry1\n")));
QVERIFY(output.contains(QString("group1/\n")));
QVERIFY(output.contains(QString(" entry2\n")));
+ QVERIFY(output.contains(QString("group2/\n")));
+ QVERIFY(output.contains(QString(" subgroup/\n")));
+ QVERIFY(output.contains(QString(" entry3\n")));
+
+ output = db->rootGroup()->print(true, true);
+ QVERIFY(output.contains(QString("entry1\n")));
+ QVERIFY(output.contains(QString("group1/\n")));
+ QVERIFY(output.contains(QString("group1/entry2\n")));
+ QVERIFY(output.contains(QString("group2/\n")));
+ QVERIFY(output.contains(QString("group2/subgroup/\n")));
+ QVERIFY(output.contains(QString("group2/subgroup/entry3\n")));
output = group1->print();
QVERIFY(!output.contains(QString("group1/\n")));
QVERIFY(output.contains(QString("entry2\n")));
+
+ output = group2->print(true, true);
+ QVERIFY(!output.contains(QString("group2/\n")));
+ QVERIFY(output.contains(QString("subgroup/\n")));
+ QVERIFY(output.contains(QString("subgroup/entry3\n")));
}
void TestGroup::testLocate()
@@ -841,7 +870,7 @@ void TestGroup::testEquals()
QVERIFY(group->equals(group.data(), CompareItemDefault));
}
-void TestGroup::sortChildrenRecursively()
+void TestGroup::testChildrenSort()
{
auto createTestGroupWithUnorderedChildren = []() -> Group* {
Group* parent = new Group();
@@ -1020,3 +1049,35 @@ void TestGroup::sortChildrenRecursively()
QCOMPARE(children[8]->name(), QString("sub_000"));
delete parent;
}
+
+void TestGroup::testHierarchy()
+{
+ Group* group1 = new Group();
+ group1->setName("group1");
+
+ Group* group2 = new Group();
+ group2->setName("group2");
+ group2->setParent(group1);
+
+ Group* group3 = new Group();
+ group3->setName("group3");
+ group3->setParent(group2);
+
+ QStringList hierarchy = group3->hierarchy();
+ QVERIFY(hierarchy.size() == 3);
+ QVERIFY(hierarchy.contains("group1"));
+ QVERIFY(hierarchy.contains("group2"));
+ QVERIFY(hierarchy.contains("group3"));
+
+ hierarchy = group3->hierarchy(0);
+ QVERIFY(hierarchy.size() == 0);
+
+ hierarchy = group3->hierarchy(1);
+ QVERIFY(hierarchy.size() == 1);
+ QVERIFY(hierarchy.contains("group3"));
+
+ hierarchy = group3->hierarchy(2);
+ QVERIFY(hierarchy.size() == 2);
+ QVERIFY(hierarchy.contains("group2"));
+ QVERIFY(hierarchy.contains("group3"));
+}