mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-04-25 10:08:33 +02:00
test(monitor.rs): ensure workspace count test
Created tests for the ensure_workspace_count function. The function is tested by calling the function with only the default workspace, after creating a workspace, and after we already have at least the number of monitors passed into the funtion.
This commit is contained in:
@@ -488,8 +488,6 @@ impl Monitor {
|
|||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::Window;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -641,9 +639,8 @@ mod tests {
|
|||||||
{
|
{
|
||||||
// Create workspace 1 and add 3 containers
|
// Create workspace 1 and add 3 containers
|
||||||
let workspace = m.focused_workspace_mut().unwrap();
|
let workspace = m.focused_workspace_mut().unwrap();
|
||||||
for i in 0..3 {
|
for _ in 0..3 {
|
||||||
let mut container = Container::default();
|
let container = Container::default();
|
||||||
container.windows_mut().push_back(Window::from(i));
|
|
||||||
workspace.add_container_to_back(container);
|
workspace.add_container_to_back(container);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -687,4 +684,53 @@ mod tests {
|
|||||||
// Workspace 2 should now have 2 containers
|
// Workspace 2 should now have 2 containers
|
||||||
assert_eq!(m.focused_workspace().unwrap().containers().len(), 2);
|
assert_eq!(m.focused_workspace().unwrap().containers().len(), 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_ensure_workspace_count_workspace_contains_two_workspaces() {
|
||||||
|
let mut m = Monitor::new(
|
||||||
|
0,
|
||||||
|
Rect::default(),
|
||||||
|
Rect::default(),
|
||||||
|
"TestMonitor".to_string(),
|
||||||
|
"TestDevice".to_string(),
|
||||||
|
"TestDeviceID".to_string(),
|
||||||
|
Some("TestMonitorID".to_string()),
|
||||||
|
);
|
||||||
|
|
||||||
|
// Create and focus another workspace
|
||||||
|
let new_workspace_index = m.new_workspace_idx();
|
||||||
|
m.focus_workspace(new_workspace_index).unwrap();
|
||||||
|
|
||||||
|
// Should have 2 workspaces now
|
||||||
|
assert_eq!(m.workspaces().len(), 2, "Monitor should have 2 workspaces");
|
||||||
|
|
||||||
|
// Ensure the monitor has at least 5 workspaces
|
||||||
|
m.ensure_workspace_count(5);
|
||||||
|
|
||||||
|
// Monitor should have 5 workspaces
|
||||||
|
assert_eq!(m.workspaces().len(), 5, "Monitor should have 5 workspaces");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_ensure_workspace_count_only_default_workspace() {
|
||||||
|
let mut m = Monitor::new(
|
||||||
|
0,
|
||||||
|
Rect::default(),
|
||||||
|
Rect::default(),
|
||||||
|
"TestMonitor".to_string(),
|
||||||
|
"TestDevice".to_string(),
|
||||||
|
"TestDeviceID".to_string(),
|
||||||
|
Some("TestMonitorID".to_string()),
|
||||||
|
);
|
||||||
|
|
||||||
|
// Ensure the monitor has at least 5 workspaces
|
||||||
|
m.ensure_workspace_count(5);
|
||||||
|
|
||||||
|
// Monitor should have 5 workspaces
|
||||||
|
assert_eq!(m.workspaces().len(), 5, "Monitor should have 5 workspaces");
|
||||||
|
|
||||||
|
// Try to call the ensure workspace count again to ensure it doesn't change
|
||||||
|
m.ensure_workspace_count(3);
|
||||||
|
assert_eq!(m.workspaces().len(), 5, "Monitor should have 5 workspaces");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user