summaryrefslogtreecommitdiffstats
path: root/tests/auto/linguist/lrelease
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/linguist/lrelease')
-rw-r--r--tests/auto/linguist/lrelease/.gitignore2
-rw-r--r--tests/auto/linguist/lrelease/testdata/idbased.ts21
-rw-r--r--tests/auto/linguist/lrelease/tst_lrelease.cpp13
3 files changed, 36 insertions, 0 deletions
diff --git a/tests/auto/linguist/lrelease/.gitignore b/tests/auto/linguist/lrelease/.gitignore
new file mode 100644
index 0000000..cf7059c
--- /dev/null
+++ b/tests/auto/linguist/lrelease/.gitignore
@@ -0,0 +1,2 @@
+tst_lrelease
+testdata/*.qm
diff --git a/tests/auto/linguist/lrelease/testdata/idbased.ts b/tests/auto/linguist/lrelease/testdata/idbased.ts
new file mode 100644
index 0000000..61497de
--- /dev/null
+++ b/tests/auto/linguist/lrelease/testdata/idbased.ts
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name></name>
+ <message id="test_id">
+ <source>Completely irrelevant source text</source>
+ <translation>This is a test string.</translation>
+ </message>
+ <message id="untranslated_id">
+ <source>This has no translation.</source>
+ </message>
+ <message id="this_another_id">
+ <source>Foo bar.</source>
+ <comment>Warn me!</comment>
+ </message>
+ <message>
+ <source>Drop me!</source>
+ </message>
+</context>
+</TS>
diff --git a/tests/auto/linguist/lrelease/tst_lrelease.cpp b/tests/auto/linguist/lrelease/tst_lrelease.cpp
index da7c205..2c4c047 100644
--- a/tests/auto/linguist/lrelease/tst_lrelease.cpp
+++ b/tests/auto/linguist/lrelease/tst_lrelease.cpp
@@ -59,6 +59,7 @@ private slots:
void translate();
void mixedcodecs();
void compressed();
+ void idbased();
void dupes();
private:
@@ -197,6 +198,18 @@ void tst_lrelease::compressed()
}
+void tst_lrelease::idbased()
+{
+ QVERIFY(!QProcess::execute(binDir + "/lrelease -idbased testdata/idbased.ts"));
+
+ QTranslator translator;
+ QVERIFY(translator.load("testdata/idbased.qm"));
+ qApp->installTranslator(&translator);
+
+ QCOMPARE(qtTrId("test_id"), QString::fromAscii("This is a test string."));
+ QCOMPARE(qtTrId("untranslated_id"), QString::fromAscii("This has no translation."));
+}
+
void tst_lrelease::dupes()
{
QProcess proc;