diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2011-07-27 15:30:40 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-07-28 11:27:26 +0200 |
commit | aa2d36a3d7405c3130b27b41b0e3941ca466f3cd (patch) | |
tree | 7b828aec3ffcce11a66bc0425b0c338855821864 /tests | |
parent | ff7867460cbaf18fc09717b111df7abb344f5957 (diff) |
Fix translation context for QML files.
Use the base file name as done in QtQuick 1, rather
than using the entire path. This also fixes QTBUG-17255
for QtQuick 2.
Change-Id: Ia27f6539f82d6caf6e7060b89ff1996d42ffb9cb
Reviewed-on: http://codereview.qt.nokia.com/2246
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'tests')
4 files changed, 33 insertions, 1 deletions
diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro index 183c920ece..43a2a682de 100644 --- a/tests/auto/declarative/declarative.pro +++ b/tests/auto/declarative/declarative.pro @@ -19,6 +19,7 @@ PUBLICTESTS += \ qdeclarativemoduleplugin \ qdeclarativepixmapcache \ qdeclarativeqt \ + qdeclarativetranslation \ qdeclarativexmlhttprequest PRIVATETESTS += \ diff --git a/tests/auto/declarative/qdeclarativetranslation/data/translation.qrc b/tests/auto/declarative/qdeclarativetranslation/data/translation.qrc new file mode 100644 index 0000000000..2e2d0a0497 --- /dev/null +++ b/tests/auto/declarative/qdeclarativetranslation/data/translation.qrc @@ -0,0 +1,6 @@ +<RCC> + <qresource prefix="/"> + <file>translation.qml</file> + <file>qml_fr.qm</file> + </qresource> +</RCC> diff --git a/tests/auto/declarative/qdeclarativetranslation/qdeclarativetranslation.pro b/tests/auto/declarative/qdeclarativetranslation/qdeclarativetranslation.pro index c970a0c70e..b6f0df2fbc 100644 --- a/tests/auto/declarative/qdeclarativetranslation/qdeclarativetranslation.pro +++ b/tests/auto/declarative/qdeclarativetranslation/qdeclarativetranslation.pro @@ -3,6 +3,7 @@ contains(QT_CONFIG,declarative): QT += declarative macx:CONFIG -= app_bundle SOURCES += tst_qdeclarativetranslation.cpp +RESOURCES += data/translation.qrc symbian: { importFiles.files = data diff --git a/tests/auto/declarative/qdeclarativetranslation/tst_qdeclarativetranslation.cpp b/tests/auto/declarative/qdeclarativetranslation/tst_qdeclarativetranslation.cpp index 5b88b548c9..109b98bdc4 100644 --- a/tests/auto/declarative/qdeclarativetranslation/tst_qdeclarativetranslation.cpp +++ b/tests/auto/declarative/qdeclarativetranslation/tst_qdeclarativetranslation.cpp @@ -43,7 +43,6 @@ #include <QDeclarativeEngine> #include <QDeclarativeComponent> #include <QTranslator> -#include <QDebug> #ifdef Q_OS_SYMBIAN // In Symbian OS test data is located in applications private dir @@ -59,6 +58,7 @@ public: private slots: void translation(); void idTranslation(); + void translationInQrc(); }; inline QUrl TEST_FILE(const QString &filename) @@ -108,6 +108,30 @@ void tst_qdeclarativetranslation::idTranslation() delete object; } +void tst_qdeclarativetranslation::translationInQrc() +{ + QTranslator translator; + translator.load(":/qml_fr.qm"); + QApplication::installTranslator(&translator); + + QDeclarativeEngine engine; + QDeclarativeComponent component(&engine, QUrl("qrc:/translation.qml")); + QObject *object = component.create(); + QVERIFY(object != 0); + + QCOMPARE(object->property("basic").toString(), QLatin1String("bonjour")); + QCOMPARE(object->property("basic2").toString(), QLatin1String("au revoir")); + QCOMPARE(object->property("disambiguation").toString(), QLatin1String("salut")); + QCOMPARE(object->property("disambiguation2").toString(), QString::fromUtf8("\xc3\xa0 plus tard")); + QCOMPARE(object->property("noop").toString(), QLatin1String("bonjour")); + QCOMPARE(object->property("noop2").toString(), QLatin1String("au revoir")); + QCOMPARE(object->property("singular").toString(), QLatin1String("1 canard")); + QCOMPARE(object->property("plural").toString(), QLatin1String("2 canards")); + + QApplication::removeTranslator(&translator); + delete object; +} + QTEST_MAIN(tst_qdeclarativetranslation) #include "tst_qdeclarativetranslation.moc" |