Replace new_editor with native XCUI shell sandbox
This commit is contained in:
54
tests/NewEditor/test_sandbox_frame_builder.cpp
Normal file
54
tests/NewEditor/test_sandbox_frame_builder.cpp
Normal file
@@ -0,0 +1,54 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "SandboxFrameBuilder.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace {
|
||||
|
||||
bool DrawDataContainsText(
|
||||
const XCEngine::UI::UIDrawData& drawData,
|
||||
const std::string& text) {
|
||||
for (const XCEngine::UI::UIDrawList& drawList : drawData.GetDrawLists()) {
|
||||
for (const XCEngine::UI::UIDrawCommand& command : drawList.GetCommands()) {
|
||||
if (command.type == XCEngine::UI::UIDrawCommandType::Text &&
|
||||
command.text == text) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
TEST(NewEditorSandboxFrameTest, BuildsNativeEditorSandboxPacket) {
|
||||
XCEngine::NewEditor::SandboxFrameOptions options = {};
|
||||
options.width = 1440.0f;
|
||||
options.height = 900.0f;
|
||||
options.timeSeconds = 1.0;
|
||||
|
||||
const XCEngine::UI::UIDrawData drawData =
|
||||
XCEngine::NewEditor::BuildSandboxFrame(options);
|
||||
|
||||
EXPECT_FALSE(drawData.Empty());
|
||||
EXPECT_GT(drawData.GetTotalCommandCount(), 40u);
|
||||
EXPECT_TRUE(DrawDataContainsText(drawData, "XCUI Native Sandbox"));
|
||||
EXPECT_TRUE(DrawDataContainsText(drawData, "Hierarchy"));
|
||||
EXPECT_TRUE(DrawDataContainsText(drawData, "Scene"));
|
||||
EXPECT_TRUE(DrawDataContainsText(drawData, "Inspector"));
|
||||
EXPECT_TRUE(DrawDataContainsText(drawData, "No ImGui Host"));
|
||||
}
|
||||
|
||||
TEST(NewEditorSandboxFrameTest, ClampsInvalidSizeToSafeFallback) {
|
||||
XCEngine::NewEditor::SandboxFrameOptions options = {};
|
||||
options.width = 0.0f;
|
||||
options.height = -10.0f;
|
||||
|
||||
const XCEngine::UI::UIDrawData drawData =
|
||||
XCEngine::NewEditor::BuildSandboxFrame(options);
|
||||
|
||||
EXPECT_FALSE(drawData.Empty());
|
||||
EXPECT_TRUE(DrawDataContainsText(drawData, "XCUI Native Sandbox"));
|
||||
}
|
||||
Reference in New Issue
Block a user