initial commit

This commit is contained in:
2026-09-21 13:41:40 +09:00
commit 855c7328df
411 changed files with 85352 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
#include "app/translations.h"
#include "core/config.h"
#include "core/input.h"
#include <QGuiApplication>
#include <QLocale>
#include <QQmlComponent>
#include <QQmlEngine>
#include <QTest>
#include <QTranslator>
#include <memory>
using namespace docview;
class TranslationsTest : public QObject {
Q_OBJECT
private slots:
void compiledCatalogIsEmbedded();
void japaneseDiagnosticsAndQtButtons();
};
void TranslationsTest::compiledCatalogIsEmbedded()
{
QTranslator catalog;
QVERIFY(catalog.load(QStringLiteral(":/i18n/docview_ja.qm")));
QCOMPARE(catalog.translate("Commands", "コマンドを入力してください"), QStringLiteral("コマンドを入力してください"));
QCOMPARE(catalog.translate("Archive", "アーカイブを読み取れません。"), QStringLiteral("アーカイブを読み取れません。"));
}
void TranslationsTest::japaneseDiagnosticsAndQtButtons()
{
ApplicationTranslations translations;
ConfigManager config;
QVERIFY(!config.loadData("[ui]\nfont_size = 'large'\n"));
QVERIFY2(config.lastError().contains(QStringLiteral("2行、ui.font_size")), qPrintable(config.lastError()));
QVERIFY(config.lastError().contains(QStringLiteral("数値")));
QVERIFY(CommandRegistry::parse(":page wrong").error.contains(QStringLiteral("整数")));
QQmlEngine engine;
QQmlComponent component(&engine);
component.setData(R"(
import QtQuick
import QtQuick.Controls
Item {
width: 400; height: 300
Dialog { id: dialog; standardButtons: Dialog.Open | Dialog.Cancel }
readonly property string openText: dialog.standardButton(Dialog.Open).text
readonly property string cancelText: dialog.standardButton(Dialog.Cancel).text
}
)", QUrl("qrc:/translation-test.qml"));
std::unique_ptr<QObject> object(component.create());
QVERIFY2(object, qPrintable(component.errorString()));
QCOMPARE(object->property("openText").toString().remove('&'), QStringLiteral("開く"));
QCOMPARE(object->property("cancelText").toString().remove('&'), QStringLiteral("キャンセル"));
}
int main(int argc, char **argv)
{
// The product's Japanese initial language must not depend on an English host.
QLocale::setDefault(QLocale(QLocale::English, QLocale::UnitedStates));
QGuiApplication application(argc, argv);
TranslationsTest test;
return QTest::qExec(&test, argc, argv);
}
#include "test_translations.moc"