summaryrefslogtreecommitdiff
path: root/hyprtester/src/tests/main/dwindle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'hyprtester/src/tests/main/dwindle.cpp')
-rw-r--r--hyprtester/src/tests/main/dwindle.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/hyprtester/src/tests/main/dwindle.cpp b/hyprtester/src/tests/main/dwindle.cpp
index 5504282d..9513db67 100644
--- a/hyprtester/src/tests/main/dwindle.cpp
+++ b/hyprtester/src/tests/main/dwindle.cpp
@@ -227,6 +227,28 @@ static void testRotatesplit() {
OK(getFromSocket("/reload"));
}
+static void testForceSplitOnMoveToWorkspace() {
+ OK(getFromSocket("/dispatch workspace 2"));
+ EXPECT(!!Tests::spawnKitty("kitty"), true);
+
+ OK(getFromSocket("/dispatch workspace 1"));
+ EXPECT(!!Tests::spawnKitty("kitty"), true);
+ std::string posBefore = Tests::getWindowAttribute(getFromSocket("/activewindow"), "at:");
+
+ OK(getFromSocket("/keyword dwindle:force_split 2"));
+ OK(getFromSocket("/dispatch movecursortocorner 3")); // top left
+ OK(getFromSocket("/dispatch movetoworkspace 2"));
+
+ // Should be moved to the right, so the position should change
+ std::string activeWindow = getFromSocket("/activewindow");
+ EXPECT(activeWindow.contains(posBefore), false);
+
+ // clean up
+ OK(getFromSocket("/reload"));
+ Tests::killAllWindows();
+ Tests::waitUntilWindowsN(0);
+}
+
static bool test() {
NLog::log("{}Testing Dwindle layout", Colors::GREEN);
@@ -243,6 +265,9 @@ static bool test() {
NLog::log("{}Testing rotatesplit", Colors::GREEN);
testRotatesplit();
+ NLog::log("{}Testing force_split on move to workspace", Colors::GREEN);
+ testForceSplitOnMoveToWorkspace();
+
// clean up
NLog::log("Cleaning up", Colors::YELLOW);
getFromSocket("/dispatch workspace 1");