Files
InstanceBrick--nightcap/tests/window_creation_policy_test.cc
T
komaruworld 035c7fe1d4 Import theme from roblox and fix x11
vkAcquireNextImageKHR(): A swapchain no longer matches the surface properties exactly, but can still be used to present to the surface successfully. (VK_SUBOPTIMAL_KHR) (1000001003)
2026-08-31 21:42:35 +03:00

48 lines
1.5 KiB
C++

#include "window/window_creation_policy.h"
#include <gtest/gtest.h>
namespace mocktail {
namespace window {
namespace {
TEST(WindowCreationPolicyTest, DisablesHighDensityForEveryWindowBackend) {
for (const SDL_WindowFlags base_flags : {
static_cast<SDL_WindowFlags>(0),
SDL_WINDOW_VULKAN | SDL_WINDOW_RESIZABLE,
SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE,
}) {
const SDL_WindowFlags flags =
ApplyHighPixelDensityWindowFlag(base_flags, false);
EXPECT_EQ(flags & SDL_WINDOW_HIGH_PIXEL_DENSITY, 0);
EXPECT_EQ(flags, base_flags);
}
}
TEST(WindowCreationPolicyTest, EnablesHighDensityForEveryWindowBackend) {
for (const SDL_WindowFlags base_flags : {
static_cast<SDL_WindowFlags>(0),
SDL_WINDOW_VULKAN | SDL_WINDOW_RESIZABLE,
SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE,
}) {
const SDL_WindowFlags flags =
ApplyHighPixelDensityWindowFlag(base_flags, true);
EXPECT_NE(flags & SDL_WINDOW_HIGH_PIXEL_DENSITY, 0);
EXPECT_EQ(flags & ~SDL_WINDOW_HIGH_PIXEL_DENSITY, base_flags);
}
}
TEST(WindowCreationPolicyTest, SynchronizesInitialDirectVulkanWaylandMap) {
EXPECT_TRUE(DirectVulkanWindowRequiresInitialSync("wayland"));
}
TEST(WindowCreationPolicyTest, DoesNotSynchronizeInitialX11Map) {
EXPECT_FALSE(DirectVulkanWindowRequiresInitialSync("x11"));
EXPECT_FALSE(DirectVulkanWindowRequiresInitialSync("dummy"));
EXPECT_FALSE(DirectVulkanWindowRequiresInitialSync(""));
}
} // namespace
} // namespace window
} // namespace mocktail