diff options
author | Balazs Gyurak <ba32107@gmail.com> | 2019-06-19 03:42:19 +0300 |
---|---|---|
committer | Jonathan White <support@dmapps.us> | 2019-06-19 03:42:19 +0300 |
commit | 05c11d1b7c4e53ac9a3207bb9a20cf79d8db9492 (patch) | |
tree | a2c89ae32e09571f2b3a8cd3f786fd2466e258a1 /tests/TestGroup.cpp | |
parent | 1e915eef89ab6d076a8313f314180a051dcba8ef (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.cpp | 67 |
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")); +} |