diff options
| author | Friedemann Kleint <friedemann.kleint@qt.io> | 2023-05-10 13:50:56 +0200 |
|---|---|---|
| committer | Cristián Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2025-11-24 12:06:06 +0100 |
| commit | 845630ad239c4b37ff37e49ef5bb969a8946744b (patch) | |
| tree | 5c65f2e270511459d346c14f0ad8d01f5e6e39a0 /sources/shiboken6/ApiExtractor/tests/testarrayargument.cpp | |
| parent | 3cf2077a1b060bbea3419ccde23c5da6485a2e24 (diff) | |
Move the shiboken-generator source around
THIS COMMIT WAS GENERATED BY A SCRIPT
Task-number: PYSIDE-962
Task-number: PYSIDE-1587
Change-Id: I58b05c3d05606efb6303193f2d7f907a0ab5741b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/tests/testarrayargument.cpp')
| -rw-r--r-- | sources/shiboken6/ApiExtractor/tests/testarrayargument.cpp | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/sources/shiboken6/ApiExtractor/tests/testarrayargument.cpp b/sources/shiboken6/ApiExtractor/tests/testarrayargument.cpp deleted file mode 100644 index f1bc3860a..000000000 --- a/sources/shiboken6/ApiExtractor/tests/testarrayargument.cpp +++ /dev/null @@ -1,155 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#include "testarrayargument.h" -#include "testutil.h" -#include <abstractmetaargument.h> -#include <abstractmetaenum.h> -#include <abstractmetafunction.h> -#include <abstractmetalang.h> -#include <abstractmetatype.h> -#include <primitivetypeentry.h> -#include <parser/enumvalue.h> - -#include <qtcompat.h> - -#include <QtTest/qtest.h> - -using namespace Qt::StringLiterals; - -void TestArrayArgument::testArrayArgumentWithSizeDefinedByInteger() -{ - const char cppCode[] = "\ - struct A {\n\ - enum SomeEnum { Value0, Value1, NValues };\n\ - void method(double[3]);\n\ - };\n"; - const char xmlCode[] = "\ - <typesystem package='Foo'>\n\ - <primitive-type name='double'/>\n\ - <object-type name='A'>\n\ - <enum-type name='SomeEnum'/>\n\ - </object-type>\n\ - </typesystem>\n"; - - QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false)); - QVERIFY(!builder.isNull()); - const auto classA = AbstractMetaClass::findClass(builder->classes(), "A"); - QVERIFY(classA); - - const AbstractMetaArgument &arg = classA->functions().constLast()->arguments().constFirst(); - QVERIFY(arg.type().isArray()); - QCOMPARE(arg.type().arrayElementCount(), 3); - QCOMPARE(arg.type().arrayElementType()->name(), u"double"); -} - -static QString functionMinimalSignature(const AbstractMetaClassCPtr &c, const QString &name) -{ - const auto f = c->findFunction(name); - return f ? f->minimalSignature() : QString(); -} - -void TestArrayArgument::testArraySignature() -{ - const char cppCode[] ="\ - struct A {\n\ - void mi1(int arg[5]);\n\ - void mi1c(const int arg[5]);\n\ - void mi1cu(const int arg[]);\n\ - void mc1cu(const char arg[]);\n\ - void mc1cup(const char *arg[]);\n\ - void muc2(unsigned char *arg[2][3]);\n\ - void mc2c(const char *arg[5][6]);\n\ - void mc2cu(const char arg[][2]);\n\ - };\n"; - const char xmlCode[] = "\ - <typesystem package='Foo'>\n\ - <primitive-type name='char'/>\n\ - <primitive-type name='unsigned char'/>\n\ - <primitive-type name='int'/>\n\ - <object-type name='A'/>\n\ - </typesystem>\n"; - - QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false)); - QVERIFY(!builder.isNull()); - const auto classA = AbstractMetaClass::findClass(builder->classes(), "A"); - QCOMPARE(functionMinimalSignature(classA, u"mi1"_s), - u"mi1(int[5])"); - QCOMPARE(functionMinimalSignature(classA, u"mi1c"_s), - u"mi1c(const int[5])"); - QCOMPARE(functionMinimalSignature(classA, u"mi1cu"_s), - u"mi1cu(const int[])"); - QCOMPARE(functionMinimalSignature(classA, u"mc1cu"_s), - u"mc1cu(const char*)"); - QCOMPARE(functionMinimalSignature(classA, u"mc1cup"_s), - u"mc1cup(const char*[])"); - QCOMPARE(functionMinimalSignature(classA, u"muc2"_s), - u"muc2(unsigned char*[2][3])"); - QCOMPARE(functionMinimalSignature(classA, u"mc2c"_s), - u"mc2c(const char*[5][6])"); - QCOMPARE(functionMinimalSignature(classA, u"mc2cu"_s), - u"mc2cu(const char[][2])"); -} - -void TestArrayArgument::testArrayArgumentWithSizeDefinedByEnumValue() -{ - const char cppCode[] = "\ - struct A {\n\ - enum SomeEnum { Value0, Value1, NValues };\n\ - void method(double[NValues]);\n\ - };\n"; - const char xmlCode[] = "\ - <typesystem package='Foo'>\n\ - <primitive-type name='double'/>\n\ - <object-type name='A'>\n\ - <enum-type name='SomeEnum'/>\n\ - </object-type>\n\ - </typesystem>\n"; - - QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false)); - QVERIFY(!builder.isNull()); - AbstractMetaClassPtr classA = AbstractMetaClass::findClass(builder->classes(), "A"); - QVERIFY(classA); - - auto someEnum = classA->findEnum(u"SomeEnum"_s); - QVERIFY(someEnum.has_value()); - auto nvalues = classA->findEnumValue(u"NValues"_s); - QVERIFY(nvalues.has_value()); - - const AbstractMetaArgument &arg = classA->functions().constLast()->arguments().constFirst(); - QVERIFY(arg.type().isArray()); - QCOMPARE(arg.type().arrayElementCount(), nvalues->value().value()); - QCOMPARE(arg.type().arrayElementType()->name(), u"double"); -}; - -void TestArrayArgument::testArrayArgumentWithSizeDefinedByEnumValueFromGlobalEnum() -{ - const char cppCode[] = "\ - enum SomeEnum { Value0, Value1, NValues };\n\ - struct A {\n\ - void method(double[NValues]);\n\ - };\n"; - const char xmlCode[] = "\ - <typesystem package='Foo'>\n\ - <primitive-type name='double'/>\n\ - <enum-type name='SomeEnum'/>\n\ - <object-type name='A'>\n\ - </object-type>\n\ - </typesystem>\n"; - - QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false)); - QVERIFY(builder); - const auto classA = AbstractMetaClass::findClass(builder->classes(), "A"); - QVERIFY(classA); - - AbstractMetaEnum someEnum = builder->globalEnums().constFirst(); - auto nvalues = someEnum.findEnumValue(u"NValues"); - QVERIFY(nvalues.has_value()); - - const AbstractMetaArgument &arg = classA->functions().constLast()->arguments().constFirst(); - QVERIFY(arg.type().isArray()); - QCOMPARE(arg.type().arrayElementCount(), nvalues->value().value()); - QCOMPARE(arg.type().arrayElementType()->name(), u"double"); -}; - -QTEST_APPLESS_MAIN(TestArrayArgument) |
