diff options
| author | srdusr <[email protected]> | 2025-08-24 00:44:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2025-08-24 00:44:00 +0200 |
| commit | 72e787a706d372c9a92e424e9b13ece929cb2bce (patch) | |
| tree | 237ea5559a63474c2539761b6ce1015fc31dc1da /legacy-cpp/tests/test_cross_platform_integration.cc | |
| parent | 2a3fdcf2faf6cadb1fa49ed7c4b2963b554b0724 (diff) | |
| download | srdwm-72e787a706d372c9a92e424e9b13ece929cb2bce.tar.gz srdwm-72e787a706d372c9a92e424e9b13ece929cb2bce.zip | |
Remove the stale legacy-cpp implementation
The Rust rewrite (crates/) has fully superseded it - keeping both around
was actively misleading (main looked like it still shipped a C++ build),
and nothing here still depends on it.
Diffstat (limited to 'legacy-cpp/tests/test_cross_platform_integration.cc')
| -rw-r--r-- | legacy-cpp/tests/test_cross_platform_integration.cc | 302 |
1 files changed, 0 insertions, 302 deletions
diff --git a/legacy-cpp/tests/test_cross_platform_integration.cc b/legacy-cpp/tests/test_cross_platform_integration.cc deleted file mode 100644 index 1aca456..0000000 --- a/legacy-cpp/tests/test_cross_platform_integration.cc +++ /dev/null @@ -1,302 +0,0 @@ -#include <gtest/gtest.h> -#include "../src/platform/platform_factory.h" -#include "../src/layouts/smart_placement.h" -#include "../src/config/lua_manager.h" -#include "../src/core/window_manager.h" -#include <memory> - -class CrossPlatformIntegrationTest : public ::testing::Test { -protected: - void SetUp() override { - // Initialize platform - platform = PlatformFactory::create_platform(); - EXPECT_NE(platform, nullptr); - - // Initialize Lua manager - lua_manager = std::make_unique<LuaManager>(); - EXPECT_TRUE(lua_manager->initialize()); - - // Initialize window manager - window_manager = std::make_unique<WindowManager>(); - EXPECT_TRUE(window_manager->initialize()); - } - - void TearDown() override { - if (window_manager) { - window_manager->shutdown(); - } - if (lua_manager) { - lua_manager->shutdown(); - } - if (platform) { - platform->shutdown(); - } - } - - std::unique_ptr<Platform> platform; - std::unique_ptr<LuaManager> lua_manager; - std::unique_ptr<WindowManager> window_manager; -}; - -TEST_F(CrossPlatformIntegrationTest, PlatformDetection) { - auto detected_platform = PlatformFactory::detect_platform(); - - // Should detect one of the supported platforms - EXPECT_TRUE(detected_platform == PlatformType::Linux_X11 || - detected_platform == PlatformType::Linux_Wayland || - detected_platform == PlatformType::Windows || - detected_platform == PlatformType::macOS); - - // Platform name should match detection - std::string platform_name = platform->get_platform_name(); - EXPECT_FALSE(platform_name.empty()); -} - -TEST_F(CrossPlatformIntegrationTest, WindowLifecycle) { - // Create window through platform - auto window = platform->create_window("Integration Test Window", 100, 100, 400, 300); - EXPECT_NE(window, nullptr); - - if (window) { - // Test window properties - EXPECT_EQ(window->getTitle(), "Integration Test Window"); - EXPECT_EQ(window->getX(), 100); - EXPECT_EQ(window->getY(), 100); - EXPECT_EQ(window->getWidth(), 400); - EXPECT_EQ(window->getHeight(), 300); - - // Test window management - platform->set_window_position(window.get(), 200, 200); - platform->set_window_size(window.get(), 500, 400); - platform->focus_window(window.get()); - - // Test decoration controls - platform->set_window_decorations(window.get(), true); - EXPECT_TRUE(platform->get_window_decorations(window.get())); - - platform->set_window_border_color(window.get(), 255, 0, 0); - platform->set_window_border_width(window.get(), 5); - - // Clean up - platform->destroy_window(window.get()); - } -} - -TEST_F(CrossPlatformIntegrationTest, SmartPlacementIntegration) { - // Get monitor information - auto monitors = platform->get_monitors(); - EXPECT_FALSE(monitors.empty()); - - Monitor monitor = monitors[0]; - - // Create test windows - std::vector<std::unique_ptr<Window>> existing_windows; - for (int i = 0; i < 3; ++i) { - auto window = platform->create_window( - "Test Window " + std::to_string(i), - 100 + i * 50, 100 + i * 50, - 400, 300 - ); - EXPECT_NE(window, nullptr); - existing_windows.push_back(std::move(window)); - } - - // Test smart placement - auto new_window = platform->create_window("Smart Placement Test", 0, 0, 400, 300); - EXPECT_NE(new_window, nullptr); - - if (new_window) { - // Test grid placement - auto grid_result = SmartPlacement::place_in_grid(new_window.get(), monitor, existing_windows); - EXPECT_TRUE(grid_result.success); - - // Test cascade placement - auto cascade_result = SmartPlacement::cascade_place(new_window.get(), monitor, existing_windows); - EXPECT_TRUE(cascade_result.success); - - // Test smart tile - auto smart_result = SmartPlacement::smart_tile(new_window.get(), monitor, existing_windows); - EXPECT_TRUE(smart_result.success); - - platform->destroy_window(new_window.get()); - } - - // Clean up existing windows - for (auto& window : existing_windows) { - platform->destroy_window(window.get()); - } -} - -TEST_F(CrossPlatformIntegrationTest, LuaConfigurationIntegration) { - // Test Lua configuration with platform integration - std::string config = R"( - - Platform detection - local platform = srd.get_platform() - srd.set("detected_platform", platform) - - - Platform-specific settings - if platform == "x11" then - srd.set("border_width", 3) - srd.set("decorations_enabled", true) - elseif platform == "wayland" then - srd.set("border_width", 2) - srd.set("decorations_enabled", true) - elseif platform == "windows" then - srd.set("border_width", 2) - srd.set("decorations_enabled", true) - elseif platform == "macos" then - srd.set("border_width", 1) - srd.set("decorations_enabled", false) - end - - - Window decoration controls - srd.window.set_decorations("test_window", true) - srd.window.set_border_color("test_window", 255, 0, 0) - srd.window.set_border_width("test_window", 5) - - - Window state controls - srd.window.set_floating("test_window", true) - srd.window.toggle_floating("test_window") - )"; - - EXPECT_TRUE(lua_manager->load_config_string(config)); - - // Verify platform detection - std::string detected_platform = lua_manager->get_string("detected_platform", ""); - EXPECT_FALSE(detected_platform.empty()); - EXPECT_TRUE(detected_platform == "x11" || - detected_platform == "wayland" || - detected_platform == "windows" || - detected_platform == "macos"); -} - -TEST_F(CrossPlatformIntegrationTest, EventSystemIntegration) { - // Test event polling - std::vector<Event> events; - bool result = platform->poll_events(events); - - // Should not crash, even if no events are available - EXPECT_TRUE(result || events.empty()); - - // Test event processing - if (!events.empty()) { - for (const auto& event : events) { - // Process events through window manager - window_manager->process_event(event); - } - } -} - -TEST_F(CrossPlatformIntegrationTest, MonitorIntegration) { - // Test monitor detection - auto monitors = platform->get_monitors(); - EXPECT_FALSE(monitors.empty()); - - for (const auto& monitor : monitors) { - EXPECT_GT(monitor.id, 0); - EXPECT_FALSE(monitor.name.empty()); - EXPECT_GT(monitor.width, 0); - EXPECT_GT(monitor.height, 0); - EXPECT_GT(monitor.refresh_rate, 0); - - // Test smart placement with monitor - auto window = platform->create_window("Monitor Test", 0, 0, 400, 300); - EXPECT_NE(window, nullptr); - - if (window) { - std::vector<std::unique_ptr<Window>> empty_windows; - auto result = SmartPlacement::place_in_grid(window.get(), monitor, empty_windows); - EXPECT_TRUE(result.success); - - platform->destroy_window(window.get()); - } - } -} - -TEST_F(CrossPlatformIntegrationTest, InputHandlingIntegration) { - // Test input grabbing - platform->grab_keyboard(); - platform->grab_pointer(); - - // Test input release - platform->ungrab_keyboard(); - platform->ungrab_pointer(); -} - -TEST_F(CrossPlatformIntegrationTest, ConfigurationReloading) { - // Test configuration reloading with platform integration - std::string initial_config = R"( - srd.set("test.value", "initial") - srd.set("test.platform", srd.get_platform()) - )"; - - EXPECT_TRUE(lua_manager->load_config_string(initial_config)); - EXPECT_EQ(lua_manager->get_string("test.value", ""), "initial"); - - // Reload configuration - EXPECT_TRUE(lua_manager->reload_config()); - - // Should be reset to default - EXPECT_EQ(lua_manager->get_string("test.value", "default"), "default"); -} - -TEST_F(CrossPlatformIntegrationTest, ErrorHandling) { - // Test error handling with invalid inputs - Window* invalid_window = nullptr; - - // These should not crash - platform->set_window_decorations(invalid_window, true); - platform->set_window_border_color(invalid_window, 255, 0, 0); - platform->set_window_border_width(invalid_window, 5); - platform->get_window_decorations(invalid_window); - - // Test invalid Lua configuration - std::string invalid_config = "invalid lua code {"; - EXPECT_FALSE(lua_manager->load_config_string(invalid_config)); - - // Should have errors - auto errors = lua_manager->get_errors(); - EXPECT_FALSE(errors.empty()); -} - -TEST_F(CrossPlatformIntegrationTest, PerformanceTest) { - // Test performance with multiple windows and operations - std::vector<std::unique_ptr<Window>> windows; - - // Create multiple windows - for (int i = 0; i < 10; ++i) { - auto window = platform->create_window( - "Performance Test " + std::to_string(i), - 100 + i * 10, 100 + i * 10, - 400, 300 - ); - EXPECT_NE(window, nullptr); - windows.push_back(std::move(window)); - } - - // Perform operations on all windows - for (auto& window : windows) { - platform->set_window_position(window.get(), 200, 200); - platform->set_window_size(window.get(), 500, 400); - platform->set_window_decorations(window.get(), true); - platform->set_window_border_color(window.get(), 255, 0, 0); - platform->set_window_border_width(window.get(), 5); - } - - // Clean up - for (auto& window : windows) { - platform->destroy_window(window.get()); - } -} - -TEST_F(CrossPlatformIntegrationTest, ShutdownSequence) { - // Test proper shutdown sequence - EXPECT_TRUE(window_manager->shutdown()); - EXPECT_TRUE(lua_manager->shutdown()); - platform->shutdown(); -} - -int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} |