layout: Add more ops for proptest to play with

This commit is contained in:
Ivan Molodetskikh
2023-09-27 13:45:49 +04:00
parent 31ea816d2b
commit 06d15e4adc
+27
View File
@@ -2445,10 +2445,15 @@ mod tests {
activate: bool, activate: bool,
}, },
CloseWindow(#[proptest(strategy = "1..=5usize")] usize), CloseWindow(#[proptest(strategy = "1..=5usize")] usize),
FullscreenWindow(#[proptest(strategy = "1..=5usize")] usize),
FocusColumnLeft, FocusColumnLeft,
FocusColumnRight, FocusColumnRight,
FocusWindowDown,
FocusWindowUp,
MoveColumnLeft, MoveColumnLeft,
MoveColumnRight, MoveColumnRight,
MoveWindowDown,
MoveWindowUp,
ConsumeWindowIntoColumn, ConsumeWindowIntoColumn,
ExpelWindowFromColumn, ExpelWindowFromColumn,
FocusWorkspaceDown, FocusWorkspaceDown,
@@ -2457,6 +2462,9 @@ mod tests {
MoveWindowToWorkspaceDown, MoveWindowToWorkspaceDown,
MoveWindowToWorkspaceUp, MoveWindowToWorkspaceUp,
MoveWindowToWorkspace(#[proptest(strategy = "1..=5u8")] u8), MoveWindowToWorkspace(#[proptest(strategy = "1..=5u8")] u8),
MoveWindowToOutput(#[proptest(strategy = "1..=5u8")] u8),
SwitchPresetColumnWidth,
MaximizeColumn,
} }
impl Op { impl Op {
@@ -2514,10 +2522,18 @@ mod tests {
let dummy = TestWindow::new(id, Rectangle::default()); let dummy = TestWindow::new(id, Rectangle::default());
monitor_set.remove_window(&dummy); monitor_set.remove_window(&dummy);
} }
Op::FullscreenWindow(id) => {
let dummy = TestWindow::new(id, Rectangle::default());
monitor_set.toggle_fullscreen(&dummy);
}
Op::FocusColumnLeft => monitor_set.focus_left(), Op::FocusColumnLeft => monitor_set.focus_left(),
Op::FocusColumnRight => monitor_set.focus_right(), Op::FocusColumnRight => monitor_set.focus_right(),
Op::FocusWindowDown => monitor_set.focus_down(),
Op::FocusWindowUp => monitor_set.focus_up(),
Op::MoveColumnLeft => monitor_set.move_left(), Op::MoveColumnLeft => monitor_set.move_left(),
Op::MoveColumnRight => monitor_set.move_right(), Op::MoveColumnRight => monitor_set.move_right(),
Op::MoveWindowDown => monitor_set.move_down(),
Op::MoveWindowUp => monitor_set.move_up(),
Op::ConsumeWindowIntoColumn => monitor_set.consume_into_column(), Op::ConsumeWindowIntoColumn => monitor_set.consume_into_column(),
Op::ExpelWindowFromColumn => monitor_set.expel_from_column(), Op::ExpelWindowFromColumn => monitor_set.expel_from_column(),
Op::FocusWorkspaceDown => monitor_set.switch_workspace_down(), Op::FocusWorkspaceDown => monitor_set.switch_workspace_down(),
@@ -2526,6 +2542,17 @@ mod tests {
Op::MoveWindowToWorkspaceDown => monitor_set.move_to_workspace_down(), Op::MoveWindowToWorkspaceDown => monitor_set.move_to_workspace_down(),
Op::MoveWindowToWorkspaceUp => monitor_set.move_to_workspace_up(), Op::MoveWindowToWorkspaceUp => monitor_set.move_to_workspace_up(),
Op::MoveWindowToWorkspace(idx) => monitor_set.move_to_workspace(idx), Op::MoveWindowToWorkspace(idx) => monitor_set.move_to_workspace(idx),
Op::MoveWindowToOutput(id) => {
let name = format!("output{id}");
let Some(output) = monitor_set.outputs().find(|o| o.name() == name).cloned()
else {
return;
};
monitor_set.move_to_output(&output);
}
Op::SwitchPresetColumnWidth => monitor_set.toggle_width(),
Op::MaximizeColumn => monitor_set.toggle_full_width(),
} }
} }
} }