feat(translate): add per-series glossary with auto extraction
This commit is contained in:
1 parent
b180155d00
commit
463c8e390e
14 files changed
+380
-12
No files matched your search
@@ -0,0 +1,30 @@
|
||||
// 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"
|
||||
Reference in new issue
Block a user