initial commit
This commit is contained in:
@@ -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"
|
||||
Reference in New Issue
Block a user