Add unit test for nested namespace type

#2626 #2914
This commit is contained in:
Wojtek Figat
2024-09-09 07:12:40 +02:00
parent e8d077bb84
commit c42cc266f9
2 changed files with 21 additions and 0 deletions

View File

@@ -7,6 +7,12 @@
#include "Engine/Scripting/ManagedCLR/MUtils.h" #include "Engine/Scripting/ManagedCLR/MUtils.h"
#include <ThirdParty/catch2/catch.hpp> #include <ThirdParty/catch2/catch.hpp>
Foo::Foo(const SpawnParams& params)
: ScriptingObject(params)
, FooInterface(nullptr)
{
}
TestNesting::TestNesting(const SpawnParams& params) TestNesting::TestNesting(const SpawnParams& params)
: SerializableScriptingObject(params) : SerializableScriptingObject(params)
{ {

View File

@@ -8,6 +8,21 @@
#include "Engine/Scripting/ScriptingObject.h" #include "Engine/Scripting/ScriptingObject.h"
#include "Engine/Scripting/SerializableScriptingObject.h" #include "Engine/Scripting/SerializableScriptingObject.h"
// Test interface (name conflict with namespace)
API_INTERFACE(Namespace="Foo") class FLAXENGINE_API IFoo
{
DECLARE_SCRIPTING_TYPE_MINIMAL(IFoo);
};
// Test class (name conflict with namespace)
API_CLASS(Namespace="Foo") class FLAXENGINE_API Foo : public ScriptingObject
{
DECLARE_SCRIPTING_TYPE(Foo);
// Test field.
API_FIELD() IFoo* FooInterface;
};
// Test compilation with nested types. // Test compilation with nested types.
API_CLASS() class TestNesting : public SerializableScriptingObject API_CLASS() class TestNesting : public SerializableScriptingObject
{ {