31 lines
980 B
C++
31 lines
980 B
C++
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#include "glossarystore.h"
|
|
|
|
#include <QStandardPaths>
|
|
#include <QTest>
|
|
using namespace Qt::Literals::StringLiterals;
|
|
|
|
class GlossaryStoreTest : public QObject
|
|
{
|
|
Q_OBJECT
|
|
private Q_SLOTS:
|
|
void saveLoadMerge()
|
|
{
|
|
QTemporaryDir temp;
|
|
QStandardPaths::setTestModeEnabled(true);
|
|
const QString directory = temp.path() + u"/series"_s;
|
|
GlossaryStore::Glossary original{directory, {{u"Lin"_s, u"Lâm"_s}}};
|
|
QVERIFY(GlossaryStore::save(original));
|
|
const auto loaded = GlossaryStore::load(directory);
|
|
QCOMPARE(loaded.entries.size(), 1);
|
|
const auto merged = GlossaryStore::merge(loaded, {{u"Lin"_s, u"Other"_s}, {u"Sect"_s, u"Tông"_s}});
|
|
QCOMPARE(merged.entries.size(), 2);
|
|
QCOMPARE(merged.entries.at(0).target, u"Lâm"_s);
|
|
QCOMPARE(merged.entries.at(1).source, u"Sect"_s);
|
|
}
|
|
};
|
|
|
|
QTEST_MAIN(GlossaryStoreTest)
|
|
#include "glossarystoretest.moc"
|