Implement XCUI markup import loader support

This commit is contained in:
2026-04-04 19:51:02 +08:00
parent bcef1f145b
commit 781c3b9a78
9 changed files with 320 additions and 14 deletions

View File

@@ -1,6 +1,7 @@
#include <gtest/gtest.h>
#include <XCEngine/Core/Asset/ResourceTypes.h>
#include <XCEngine/Core/Types.h>
#include <XCEngine/Resources/UI/UIDocuments.h>
using namespace XCEngine::Resources;
@@ -14,12 +15,24 @@ TEST(Resources_Types, ResourceType_EnumValues) {
EXPECT_EQ(static_cast<uint8_t>(ResourceType::Shader), 4);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::AudioClip), 5);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::Binary), 6);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::AnimationClip), 7);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::Skeleton), 8);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::Font), 9);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::ParticleSystem), 10);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::Scene), 11);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::Prefab), 12);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::UIView), 13);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::UITheme), 14);
EXPECT_EQ(static_cast<uint8_t>(ResourceType::UISchema), 15);
}
TEST(Resources_Types, GetResourceTypeName) {
EXPECT_STREQ(GetResourceTypeName(ResourceType::Texture), "Texture");
EXPECT_STREQ(GetResourceTypeName(ResourceType::Mesh), "Mesh");
EXPECT_STREQ(GetResourceTypeName(ResourceType::Material), "Material");
EXPECT_STREQ(GetResourceTypeName(ResourceType::UIView), "UIView");
EXPECT_STREQ(GetResourceTypeName(ResourceType::UITheme), "UITheme");
EXPECT_STREQ(GetResourceTypeName(ResourceType::UISchema), "UISchema");
EXPECT_STREQ(GetResourceTypeName(ResourceType::Unknown), "Unknown");
}
@@ -30,6 +43,9 @@ TEST(Resources_Types, GetResourceType_TemplateSpecializations) {
EXPECT_EQ(GetResourceType<Shader>(), ResourceType::Shader);
EXPECT_EQ(GetResourceType<AudioClip>(), ResourceType::AudioClip);
EXPECT_EQ(GetResourceType<BinaryResource>(), ResourceType::Binary);
EXPECT_EQ(GetResourceType<UIView>(), ResourceType::UIView);
EXPECT_EQ(GetResourceType<UITheme>(), ResourceType::UITheme);
EXPECT_EQ(GetResourceType<UISchema>(), ResourceType::UISchema);
}
} // namespace