summaryrefslogtreecommitdiff
path: root/tests/auto/linguist/lupdate/testdata
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-11-26 15:06:17 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-09 17:39:12 +0200
commiteec0eaed067dc1b421e12530c70b3a4ee01affee (patch)
tree3e01e001b5a2d1ef5f0ace13de3977394d1d5592 /tests/auto/linguist/lupdate/testdata
parentd07d47cf85f4026c8cb508fe9977fff5ffdbd810 (diff)
downloadqttools-eec0eaed067dc1b421e12530c70b3a4ee01affee.tar.gz
lupdate: allow to configure names of tr()-like functions
This makes it possible to use lupdate in projects that would like to wrap the tr()-like functions with their own versions, e.g. to add error checking or other instrumentation code. While we're at it, also simplify the c++ parsing with partly table-driven code. Change-Id: I72af68afa851a46342e75dcdd3dd58f4c14276b8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'tests/auto/linguist/lupdate/testdata')
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/tr_function_alias/lupdatecmd1
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/tr_function_alias/main.cpp102
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/tr_function_alias/project.ts.result179
3 files changed, 282 insertions, 0 deletions
diff --git a/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/lupdatecmd b/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/lupdatecmd
new file mode 100644
index 000000000..7996a444a
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/lupdatecmd
@@ -0,0 +1 @@
+lupdate main.cpp -tr-function-alias QT_TRANSLATE_NOOP+=QT_TRANSLATE_NOOP_ALIAS,QT_TRANSLATE_NOOP_UTF8+=QT_TRANSLATE_NOOP_UTF8_ALIAS,QT_TRANSLATE_NOOP3+=QT_TRANSLATE_NOOP3_ALIAS,QT_TRANSLATE_NOOP3_UTF8+=QT_TRANSLATE_NOOP3_UTF8_ALIAS,QT_TRID_NOOP+=QT_TRID_NOOP_ALIAS,Q_DECLARE_TR_FUNCTIONS+=Q_DECLARE_TR_FUNCTIONS_ALIAS,qtTrId+=qtTrId_alias,QT_TR_NOOP+=QT_TR_NOOP_ALIAS,QT_TR_NOOP_UTF8+=QT_TR_NOOP_UTF8_ALIAS,tr+=tr_alias,trUtf8+=trUtf8_alias,translate+=translate_alias -ts project.ts
diff --git a/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/main.cpp b/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/main.cpp
new file mode 100644
index 000000000..8d7d53ab5
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/main.cpp
@@ -0,0 +1,102 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Stephen Kelly <stephen.kelly@kdab.com>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef MYOBJECT_H
+#define MYOBJECT_H
+
+#include <QtCore/QObject>
+
+QT_TRANSLATE_NOOP("scope", "string")
+QT_TRANSLATE_NOOP_ALIAS("scope", "string_alias")
+QT_TRANSLATE_NOOP_UTF8("scope", "utf8_string")
+QT_TRANSLATE_NOOP_UTF8_ALIAS("scope", "utf8_string_alias")
+QT_TRANSLATE_NOOP3("scope", "string_with_comment", "comment")
+QT_TRANSLATE_NOOP3_ALIAS("scope", "string_with_comment_alias", "comment")
+QT_TRANSLATE_NOOP3_UTF8("scope", "utf8_string_with_comment", "comment")
+QT_TRANSLATE_NOOP3_UTF8_ALIAS("scope", "utf8_string_with_comment_alias", "comment")
+QT_TRID_NOOP("this_a_id")
+QT_TRID_NOOP_ALIAS("this_a_id_alias")
+QString test = qtTrId("yet_another_id");
+QString test_alias = qtTrId_alias("yet_another_id_alias");
+
+class Bogus : QObject {
+ Q_OBJECT
+
+ static const char * const s_strings[];
+};
+
+const char * const Bogus::s_strings[] = {
+ QT_TR_NOOP("this should be in Bogus"),
+ QT_TR_NOOP_ALIAS("this should be in Bogus Alias"),
+ QT_TR_NOOP_UTF8("this should be utf8 in Bogus")
+ QT_TR_NOOP_UTF8_ALIAS("this should be utf8 in Bogus Alias")
+};
+
+class MyObject : public QObject
+{
+ Q_OBJECT
+ explicit MyObject(QObject *parent = 0)
+ {
+ tr("Boo", "nsF::D");
+ tr_alias("Boo_alias", "nsB::C");
+ trUtf8("utf8_Boo", "nsF::D");
+ trUtf8_alias("utf8_Boo_alias", "nsF::D");
+ translate("QTranslator", "Simple");
+ translate_alias("QTranslator", "Simple with comment alias", "with comment")
+ }
+};
+
+struct NonQObject
+{
+ Q_DECLARE_TR_FUNCTIONS_ALIAS(NonQObject)
+
+ NonQObject()
+ {
+ tr("NonQObject_Boo", "nsF::NonQObject_D");
+ tr_alias("NonQObject_Boo_alias", "nsB::NonQObject_C");
+ trUtf8("utf_NonQObject_Boo", "nsF::D");
+ trUtf8_alias("utf8_NonQObject_Boo_alias", "nsF::D");
+ translate("NonQObject_QTranslator", "Simple");
+ translate_alias("NonQObject_QTranslator", "Simple with comment alias", "with comment")
+ }
+};
+
+#endif
diff --git a/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/project.ts.result
new file mode 100644
index 000000000..e05d01c73
--- /dev/null
+++ b/tests/auto/linguist/lupdate/testdata/good/tr_function_alias/project.ts.result
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name></name>
+ <message id="this_a_id">
+ <location filename="main.cpp" line="55"/>
+ <source></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message id="this_a_id_alias">
+ <location filename="main.cpp" line="56"/>
+ <source></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message id="yet_another_id">
+ <location filename="main.cpp" line="57"/>
+ <source></source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message id="yet_another_id_alias">
+ <location filename="main.cpp" line="58"/>
+ <source></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>Bogus</name>
+ <message>
+ <location filename="main.cpp" line="67"/>
+ <source>this should be in Bogus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="68"/>
+ <source>this should be in Bogus Alias</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="69"/>
+ <source>this should be utf8 in Bogus</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="70"/>
+ <source>this should be utf8 in Bogus Alias</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>MyObject</name>
+ <message>
+ <location filename="main.cpp" line="78"/>
+ <source>Boo</source>
+ <comment>nsF::D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="79"/>
+ <source>Boo_alias</source>
+ <comment>nsB::C</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="80"/>
+ <source>utf8_Boo</source>
+ <comment>nsF::D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="81"/>
+ <source>utf8_Boo_alias</source>
+ <comment>nsF::D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NonQObject</name>
+ <message>
+ <location filename="main.cpp" line="93"/>
+ <source>NonQObject_Boo</source>
+ <comment>nsF::NonQObject_D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="94"/>
+ <source>NonQObject_Boo_alias</source>
+ <comment>nsB::NonQObject_C</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="95"/>
+ <source>utf_NonQObject_Boo</source>
+ <comment>nsF::D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="96"/>
+ <source>utf8_NonQObject_Boo_alias</source>
+ <comment>nsF::D</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>NonQObject_QTranslator</name>
+ <message>
+ <location filename="main.cpp" line="97"/>
+ <source>Simple</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="98"/>
+ <source>Simple with comment alias</source>
+ <comment>with comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QTranslator</name>
+ <message>
+ <location filename="main.cpp" line="82"/>
+ <source>Simple</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="83"/>
+ <source>Simple with comment alias</source>
+ <comment>with comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>scope</name>
+ <message>
+ <location filename="main.cpp" line="47"/>
+ <source>string</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="48"/>
+ <source>string_alias</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="49"/>
+ <source>utf8_string</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="50"/>
+ <source>utf8_string_alias</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="51"/>
+ <source>string_with_comment</source>
+ <comment>comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="52"/>
+ <source>string_with_comment_alias</source>
+ <comment>comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="53"/>
+ <source>utf8_string_with_comment</source>
+ <comment>comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="main.cpp" line="54"/>
+ <source>utf8_string_with_comment_alias</source>
+ <comment>comment</comment>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>