From 15740faf9fe9fe4be08965098bbf2947e096aeeb Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 14 Aug 2019 22:50:43 +0800 Subject: +Unity Runtime code --- .../Backend/Tests/ScriptingBackendApi_Tests.cpp | 35 ++++++++++++++++++++++ .../Backend/Tests/ScriptingBackendApi_Tests.h | 30 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.cpp create mode 100644 Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.h (limited to 'Runtime/Scripting/Backend/Tests') diff --git a/Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.cpp b/Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.cpp new file mode 100644 index 0000000..c8c0122 --- /dev/null +++ b/Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.cpp @@ -0,0 +1,35 @@ +#include "UnityPrefix.h" + +#if DEDICATED_UNIT_TEST_BUILD +#include "Runtime/Scripting/Backend/ScriptingTypes.h" +#include "Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.h" +#include "Runtime/Scripting/Backend/ScriptingMethodRegistry.h" +#include "Runtime/Scripting/Backend/ScriptingTypeRegistry.h" + +bool scripting_method_is_instance(ScriptingMethodPtr method) +{ + return method->instance; +} + +int scripting_method_get_argument_count(ScriptingMethodPtr method) +{ + return method->args; +} + +ScriptingTypePtr scripting_class_get_parent(ScriptingTypePtr type, ScriptingTypeRegistry& typeRegistry) +{ + return type->baseType; +} + +void scripting_class_get_methods(ScriptingTypePtr type, ScriptingMethodRegistry& registry, std::vector& result) +{ + result = type->methods; +} + +ScriptingTypePtr scripting_class_from_systemtypeinstance(ScriptingObjectPtr type, ScriptingTypeRegistry& typeRegistry) +{ + FakeSystemTypeInstance* sti = (FakeSystemTypeInstance*) type; + return typeRegistry.GetType(sti->nativeType); +} + +#endif diff --git a/Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.h b/Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.h new file mode 100644 index 0000000..2ab7765 --- /dev/null +++ b/Runtime/Scripting/Backend/Tests/ScriptingBackendApi_Tests.h @@ -0,0 +1,30 @@ +#ifndef _SCRIPTINGBACKENDAPI_TESTS_H_ +#define _SCRIPTINGBACKENDAPI_TESTS_H_ + +#if DEDICATED_UNIT_TEST_BUILD +#include "Runtime/Scripting/Backend/ScriptingTypes.h" +#include + +struct ScriptingType +{ + ScriptingTypePtr baseType; + ScriptingType() : baseType(NULL) {} + + std::vector methods; +}; + +struct ScriptingMethod +{ + bool instance; + int args; + + ScriptingMethod() : instance(false), args(0) {} +}; + +struct FakeSystemTypeInstance +{ + void* nativeType; +}; + +#endif +#endif -- cgit v1.1-26-g67d0