Advance Wayland and KDE package bring-up
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
/*
|
||||
SPDX-FileCopyrightText: 2013 Aurélien Gâteau <agateau@kde.org>
|
||||
SPDX-FileCopyrightText: 2014 Chusslove Illich <caslav.ilic@gmx.net>
|
||||
SPDX-FileCopyrightText: 2014 Kevin Krammer <krammer@kde.org>
|
||||
|
||||
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "ktranscripttest.h"
|
||||
|
||||
#include "testhelpers.h"
|
||||
|
||||
#include <QTest>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include <ktranscript_p.h>
|
||||
|
||||
QTEST_MAIN(KTranscriptTest)
|
||||
|
||||
extern "C" {
|
||||
#if HAVE_STATIC_KTRANSCRIPT
|
||||
extern KTranscript *load_transcript();
|
||||
#else
|
||||
typedef KTranscript *(*InitFunc)();
|
||||
#endif
|
||||
}
|
||||
|
||||
KTranscriptTest::KTranscriptTest()
|
||||
: m_transcript(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
void KTranscriptTest::initTestCase()
|
||||
{
|
||||
QVERIFY2(deployTestConfig(), "Could not deploy test ktranscript.ini");
|
||||
|
||||
#if HAVE_STATIC_KTRANSCRIPT
|
||||
m_transcript = load_transcript();
|
||||
#else
|
||||
QString pluginPath = QStringLiteral(KTRANSCRIPT_PATH);
|
||||
QVERIFY2(QFile::exists(pluginPath), "Could not find ktranscript plugin");
|
||||
|
||||
m_library.setFileName(pluginPath);
|
||||
|
||||
QVERIFY(m_library.load());
|
||||
InitFunc initf = (InitFunc)m_library.resolve("load_transcript");
|
||||
QVERIFY(initf);
|
||||
m_transcript = initf();
|
||||
#endif
|
||||
QVERIFY(m_transcript);
|
||||
}
|
||||
|
||||
void KTranscriptTest::cleanupTestCase()
|
||||
{
|
||||
QVERIFY2(removeTestConfig(), "Could not remove test ktranscript.ini");
|
||||
}
|
||||
|
||||
void KTranscriptTest::test_data()
|
||||
{
|
||||
QTest::addColumn<QVariantList>("argv");
|
||||
QTest::addColumn<bool>("fallsBack");
|
||||
QTest::addColumn<QString>("expected");
|
||||
|
||||
QTest::newRow("test_basic") << QVariantList{"test_basic", "foo"} << false << "foo bar";
|
||||
QTest::newRow("test_unicode") << QVariantList{"test_unicode", "čгσィ九"} << false << "čгσィ九 фу";
|
||||
QTest::newRow("test_hascall") << QVariantList{"test_hascall", "test_basic"} << false << "yes";
|
||||
QTest::newRow("test_acall") << QVariantList{"test_acall", "test_basic", "qwyx"} << false << "qwyx bar";
|
||||
QTest::newRow("test_load") << QVariantList{"test_load"} << false << "foo blurb";
|
||||
QTest::newRow("test_fallback") << QVariantList{"test_fallback"} << true << "";
|
||||
QTest::newRow("test_msgid") << QVariantList{"test_msgid"} << false << "source-text";
|
||||
QTest::newRow("test_msgtrf") << QVariantList{"test_msgtrf"} << false << "translated-text";
|
||||
QTest::newRow("test_msgctxt") << QVariantList{"test_msgctxt"} << false << "a-context";
|
||||
QTest::newRow("test_msgkey") << QVariantList{"test_msgkey"} << false << "a-context|source-text";
|
||||
QTest::newRow("test_nsubs") << QVariantList{"test_nsubs"} << false << "2";
|
||||
QTest::newRow("test_subs") << QVariantList{"test_subs", 1} << false << "qwyx";
|
||||
QTest::newRow("test_vals") << QVariantList{"test_vals", 0, 5} << false << "50";
|
||||
QTest::newRow("test_dynctxt") << QVariantList{"test_dynctxt", "origin"} << false << "neverwhere";
|
||||
QTest::newRow("test_dbgputs") << QVariantList{"test_dbgputs"} << false << "debugged";
|
||||
QTest::newRow("test_warnputs") << QVariantList{"test_warnputs"} << false << "warned";
|
||||
QTest::newRow("test_setcallForall") << QVariantList{"test_setcallForall"} << false << "done";
|
||||
QTest::newRow("test_toUpperFirst") << QVariantList{"test_toUpperFirst", "...123 foo"} << false << "...123 Foo";
|
||||
QTest::newRow("test_toUpperFirst_unicode") << QVariantList{"test_toUpperFirst", "...123 фу"} << false << "...123 Фу";
|
||||
QTest::newRow("test_toLowerFirst") << QVariantList{"test_toLowerFirst", "...123 FOO"} << false << "...123 fOO";
|
||||
QTest::newRow("test_loadProps") << QVariantList{"test_loadProps", "cities"} << false << "loaded";
|
||||
QTest::newRow("test_getProp") << QVariantList{"test_getProp", "cities", "Athens", "gen"} << false << "Atine";
|
||||
QTest::newRow("test_setProp") << QVariantList{"test_setProp", "Oslo", "dat", "Oslou"} << false << "Oslou";
|
||||
QTest::newRow("test_normKey") << QVariantList{"test_normKey", "Some &Thing"} << false << "something";
|
||||
QTest::newRow("test_getConfString") << QVariantList{"test_getConfString", "StringKey"} << false << "StringValue";
|
||||
QTest::newRow("test_getConfStringWithDefault") << QVariantList{"test_getConfStringWithDefault", "NoSuchKey", "DefaultValue"} << false << "DefaultValue";
|
||||
QTest::newRow("test_getConfBool") << QVariantList{"test_getConfBool", "BoolKey"} << false << "true";
|
||||
QTest::newRow("test_getConfBoolWithDefault") << QVariantList{"test_getConfBoolWithDefault", "NoSuchKey", true} << false << "true";
|
||||
QTest::newRow("test_getConfNumber") << QVariantList{"test_getConfNumber", "NumberKey"} << false << "12345";
|
||||
QTest::newRow("test_getConfNumberWithDefault") << QVariantList{"test_getConfNumberWithDefault", "NoSuchKey", 54321} << false << "54321";
|
||||
}
|
||||
|
||||
void KTranscriptTest::test()
|
||||
{
|
||||
QFETCH(QVariantList, argv);
|
||||
QFETCH(bool, fallsBack);
|
||||
QFETCH(QString, expected);
|
||||
|
||||
QString language = "fr";
|
||||
QString country = "fr";
|
||||
QString msgctxt = "a-context";
|
||||
QHash<QString, QString> dynamicContext;
|
||||
dynamicContext.insert("origin", "neverwhere");
|
||||
QString msgid = "source-text";
|
||||
QStringList subs;
|
||||
subs << "10"
|
||||
<< "qwyx";
|
||||
QList<QVariant> values;
|
||||
values << 10 << "qwyx";
|
||||
QString ordinaryTranslation = "translated-text";
|
||||
|
||||
QString testJs = QFINDTESTDATA("test.js");
|
||||
QList<QStringList> modules;
|
||||
modules << (QStringList() << testJs << language);
|
||||
|
||||
QString error;
|
||||
bool fallback;
|
||||
QString result = m_transcript->eval(argv, language, country, msgctxt, dynamicContext, msgid, subs, values, ordinaryTranslation, modules, error, fallback);
|
||||
|
||||
if (!error.isEmpty()) {
|
||||
QFAIL(qPrintable(error));
|
||||
}
|
||||
if (!fallsBack) {
|
||||
QVERIFY(!fallback);
|
||||
QCOMPARE(result, expected);
|
||||
} else {
|
||||
QVERIFY(fallback);
|
||||
}
|
||||
}
|
||||
|
||||
#include "moc_ktranscripttest.cpp"
|
||||
Reference in New Issue
Block a user