diff options
Diffstat (limited to 'tests')
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> |