mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: port tag-list to C++
Also adds a new test, which tests merging of two tag-lists. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
640ecb345b
commit
f18acf6fb9
25 changed files with 195 additions and 227 deletions
|
|
@ -15,29 +15,29 @@ void TestTagList::cleanupTestCase()
|
|||
|
||||
void TestTagList::testGetTagstringNoTags()
|
||||
{
|
||||
struct tag_entry *tag_list = NULL;
|
||||
std::string tagstring = taglist_get_tagstring(tag_list);
|
||||
tag_list tags;
|
||||
std::string tagstring = taglist_get_tagstring(tags);
|
||||
QVERIFY(tagstring.empty());
|
||||
}
|
||||
|
||||
void TestTagList::testGetTagstringSingleTag()
|
||||
{
|
||||
struct tag_entry *tag_list = NULL;
|
||||
taglist_add_tag(&tag_list, "A new tag");
|
||||
std::string tagstring = taglist_get_tagstring(tag_list);
|
||||
tag_list tags;
|
||||
taglist_add_tag(tags, "A new tag");
|
||||
std::string tagstring = taglist_get_tagstring(tags);
|
||||
QCOMPARE(QString::fromStdString(tagstring), QString::fromUtf8("A new tag"));
|
||||
}
|
||||
|
||||
void TestTagList::testGetTagstringMultipleTags()
|
||||
{
|
||||
struct tag_entry *tag_list = NULL;
|
||||
taglist_add_tag(&tag_list, "A new tag");
|
||||
taglist_add_tag(&tag_list, "A new tag 1");
|
||||
taglist_add_tag(&tag_list, "A new tag 2");
|
||||
taglist_add_tag(&tag_list, "A new tag 3");
|
||||
taglist_add_tag(&tag_list, "A new tag 4");
|
||||
taglist_add_tag(&tag_list, "A new tag 5");
|
||||
std::string tagstring = taglist_get_tagstring(tag_list);
|
||||
tag_list tags;
|
||||
taglist_add_tag(tags, "A new tag");
|
||||
taglist_add_tag(tags, "A new tag 1");
|
||||
taglist_add_tag(tags, "A new tag 2");
|
||||
taglist_add_tag(tags, "A new tag 3");
|
||||
taglist_add_tag(tags, "A new tag 4");
|
||||
taglist_add_tag(tags, "A new tag 5");
|
||||
std::string tagstring = taglist_get_tagstring(tags);
|
||||
QCOMPARE(QString::fromStdString(tagstring),
|
||||
QString::fromUtf8(
|
||||
"A new tag, "
|
||||
|
|
@ -50,11 +50,11 @@ void TestTagList::testGetTagstringMultipleTags()
|
|||
|
||||
void TestTagList::testGetTagstringWithAnEmptyTag()
|
||||
{
|
||||
struct tag_entry *tag_list = NULL;
|
||||
taglist_add_tag(&tag_list, "A new tag");
|
||||
taglist_add_tag(&tag_list, "A new tag 1");
|
||||
taglist_add_tag(&tag_list, "");
|
||||
std::string tagstring = taglist_get_tagstring(tag_list);
|
||||
tag_list tags;
|
||||
taglist_add_tag(tags, "A new tag");
|
||||
taglist_add_tag(tags, "A new tag 1");
|
||||
taglist_add_tag(tags, "");
|
||||
std::string tagstring = taglist_get_tagstring(tags);
|
||||
QCOMPARE(QString::fromStdString(tagstring),
|
||||
QString::fromUtf8(
|
||||
"A new tag, "
|
||||
|
|
@ -63,11 +63,40 @@ void TestTagList::testGetTagstringWithAnEmptyTag()
|
|||
|
||||
void TestTagList::testGetTagstringEmptyTagOnly()
|
||||
{
|
||||
struct tag_entry *tag_list = NULL;
|
||||
taglist_add_tag(&tag_list, "");
|
||||
std::string tagstring = taglist_get_tagstring(tag_list);
|
||||
tag_list tags;
|
||||
taglist_add_tag(tags, "");
|
||||
std::string tagstring = taglist_get_tagstring(tags);
|
||||
QCOMPARE(QString::fromStdString(tagstring),
|
||||
QString::fromUtf8(""));
|
||||
}
|
||||
|
||||
void TestTagList::testMergeTags()
|
||||
{
|
||||
tag_list tags1, tags2;
|
||||
taglist_add_tag(tags1, "A new tag");
|
||||
taglist_add_tag(tags1, "A new tag 6");
|
||||
taglist_add_tag(tags1, "A new tag 1");
|
||||
taglist_add_tag(tags1, "A new tag 2");
|
||||
taglist_add_tag(tags1, "");
|
||||
taglist_add_tag(tags1, "A new tag 2");
|
||||
taglist_add_tag(tags1, "A new tag 3");
|
||||
taglist_add_tag(tags1, "A new tag");
|
||||
taglist_add_tag(tags2, "");
|
||||
taglist_add_tag(tags2, "A new tag 1");
|
||||
taglist_add_tag(tags2, "A new tag 4");
|
||||
taglist_add_tag(tags2, "A new tag 2");
|
||||
taglist_add_tag(tags2, "A new tag 5");
|
||||
tag_list tags3 = taglist_merge(tags1, tags2);
|
||||
std::string tagstring = taglist_get_tagstring(tags3);
|
||||
QCOMPARE(QString::fromStdString(tagstring),
|
||||
QString::fromUtf8(
|
||||
"A new tag, "
|
||||
"A new tag 1, "
|
||||
"A new tag 2, "
|
||||
"A new tag 3, "
|
||||
"A new tag 4, "
|
||||
"A new tag 5, "
|
||||
"A new tag 6"));
|
||||
}
|
||||
|
||||
QTEST_GUILESS_MAIN(TestTagList)
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ private slots:
|
|||
void testGetTagstringMultipleTags();
|
||||
void testGetTagstringWithAnEmptyTag();
|
||||
void testGetTagstringEmptyTagOnly();
|
||||
void testMergeTags();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue