diff options
Diffstat (limited to 'tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp')
-rw-r--r-- | tests/auto/linguist/lupdate/testdata/good/parsecpp2/main.cpp | 149 |
1 files changed, 120 insertions, 29 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")); +} |