diff options
Diffstat (limited to 'tests/auto/linguist/lupdate/testdata/good/parsecpp2')
3 files changed, 247 insertions, 56 deletions
diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp index efaac791f..85a1e3ac0 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp +++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp @@ -1,32 +1,32 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -// IMPORTANT!!!! If you want to add testdata to this file, +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + + + + + + + + + + + + + + + + + + + + + + + + + + +// IMPORTANT!!!! If you want to add testdata to this file, // always add it to the end in order to not change the linenumbers of translations!!! // nothing here @@ -139,3 +139,94 @@ const QString nodelimiter(QObject::tr(R"( const QString withdelimiter = QObject::tr(R"delim( This is a test string )delim"); + + +// New in C++14: integer literals may contain single quotes as separator. +struct IntLiteralsWithSeparators { + long d = 10'000'000'0'00; + int x = 0x1'AF'FE; + int X = 0X2'E5E7; +}; + + +// QTBUG-59802: prefixed string literals +class PrefixedStringLiterals : public QObject { + Q_OBJECT + void foo() + { + #if 0 + tr(u8"UTF-8 string literal"); + tr(u8R"(UTF-8 raw string literal)"); + tr(u"UTF-16 string literal"); + tr(uR"(UTF-16 raw string literal)"); + tr(U"UTF-32 string literal"); + tr(UR"(UTF-32 raw string literal)"); + tr(L"wide string literal"); + tr(LR"(wide raw string literal)"); + #endif + } +}; + +// QTBUG-110949: trailing return types with template parameters +class TrailingReturnType : public QObject { + Q_OBJECT + auto f1() -> QString + { + return tr("f1: trailing return type"); + } + auto f2() -> QString; + auto f3() -> std::vector<QString> + { + return { tr("f3: trailing return type") }; + } + auto f4() -> std::vector<QString> + { + return { tr("f4: trailing return type") }; + } + auto f5() -> decltype([]() { return 1; }) + { + tr("f5: trailing return type"); + } + auto f6() -> decltype([]() { return 1; }); +}; + +auto TrailingReturnType::f2() -> QString +{ + return tr("f2: trailing return type"); +} + +auto TrailingReturnType::f4() -> std::vector<QString> +{ + return { tr("f4: trailing return type") }; +} + +auto TrailingReturnType::f6() -> decltype([]() { return 1; }) +{ + tr("f6: trailing return type"); + return {}; +} + +// Check that our -> handling doesn't break the common cases. +class SomeClassWithArrowInMethods : public QObject { + Q_OBJECT + void f1() + { + mainWindow->setWindowTitle(QObject::tr("SomeClassWithArrowInMethods::f1")); + } + void f2(); + void f3() + { + mainWindow->setWindowTitle(tr("SomeClassWithArrowInMethods::f3")); + } + void f4(); +}; + +SomeClassWithArrowInMethods::f2() +{ + mainWindow->setWindowTitle(QObject::tr("SomeClassWithArrowInMethods::f2")); +} + +SomeClassWithArrowInMethods::f4() +{ + mainWindow->setWindowTitle(tr("SomeClassWithArrowInMethods::f4")); +} diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.h b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.h index 2caa9f1df..b1e01da6c 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.h +++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.h @@ -1,30 +1,30 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** 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 The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + + + + + + + + + + + + + + + + + + + + + + + + + // IMPORTANT!!!! If you want to add testdata to this file, // always add it to the end in order to not change the linenumbers of translations!!! diff --git a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result index 0710915de..2f65832ed 100644 --- a/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result +++ b/tests/auto/linguist/lupdate/testdata/good/parsecpp2/project.ts.result @@ -18,6 +18,49 @@ </message> </context> <context> + <name>PrefixedStringLiterals</name> + <message> + <location filename="main.cpp" line="158"/> + <source>UTF-8 string literal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="159"/> + <source>UTF-8 raw string literal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="160"/> + <source>UTF-16 string literal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="161"/> + <source>UTF-16 raw string literal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="162"/> + <source>UTF-32 string literal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="163"/> + <source>UTF-32 raw string literal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="164"/> + <source>wide string literal</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="165"/> + <source>wide raw string literal</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>QObject</name> <message> <location filename="main.cpp" line="107"/> @@ -48,6 +91,29 @@ This is a test string </source> <translation type="unfinished"></translation> </message> + <message> + <location filename="main.cpp" line="214"/> + <source>SomeClassWithArrowInMethods::f1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="226"/> + <source>SomeClassWithArrowInMethods::f2</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>SomeClassWithArrowInMethods</name> + <message> + <location filename="main.cpp" line="219"/> + <source>SomeClassWithArrowInMethods::f3</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="231"/> + <source>SomeClassWithArrowInMethods::f4</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TopLevel</name> @@ -66,6 +132,40 @@ This is a test string </message> </context> <context> + <name>TrailingReturnType</name> + <message> + <location filename="main.cpp" line="175"/> + <source>f1: trailing return type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="180"/> + <source>f3: trailing return type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="184"/> + <location filename="main.cpp" line="200"/> + <source>f4: trailing return type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="188"/> + <source>f5: trailing return type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="195"/> + <source>f2: trailing return type</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="main.cpp" line="205"/> + <source>f6: trailing return type</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>global</name> <message> <location filename="main.cpp" line="127"/> |