mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-03-20 00:24:10 +01:00
test(workspace): visible windows test
Created a test for the visible_windows function. The test creates two windows in a workspace and checks to see if the the first created window is the visible window. The test then maximizes the second window and checks to ensure both windows are visible. Expanded visible window test to ensure that a visible window will display when adding another container.
This commit is contained in:
@@ -1779,7 +1779,6 @@ impl Workspace {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
use crate::container::Container;
|
||||
use crate::Window;
|
||||
use std::collections::BTreeSet;
|
||||
@@ -2492,4 +2491,53 @@ mod tests {
|
||||
let floating_windows = workspace.floating_windows_mut();
|
||||
assert!(floating_windows.contains(&Window { hwnd: 0 }));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_visible_windows() {
|
||||
let mut workspace = Workspace::default();
|
||||
|
||||
{
|
||||
// Create and add a default Container with 2 windows
|
||||
let mut container = Container::default();
|
||||
container.windows_mut().push_back(Window::from(100));
|
||||
container.windows_mut().push_back(Window::from(200));
|
||||
workspace.add_container_to_back(container);
|
||||
}
|
||||
|
||||
{
|
||||
// visible_windows should return None and 100
|
||||
let visible_windows = workspace.visible_windows();
|
||||
assert_eq!(visible_windows.len(), 2);
|
||||
assert!(visible_windows[0].is_none());
|
||||
assert_eq!(visible_windows[1].unwrap().hwnd, 100);
|
||||
}
|
||||
|
||||
{
|
||||
// Create and add a default Container with 1 window
|
||||
let mut container = Container::default();
|
||||
container.windows_mut().push_back(Window::from(300));
|
||||
workspace.add_container_to_back(container);
|
||||
}
|
||||
|
||||
{
|
||||
// visible_windows should return None, 100, and 300
|
||||
let visible_windows = workspace.visible_windows();
|
||||
assert_eq!(visible_windows.len(), 3);
|
||||
assert!(visible_windows[0].is_none());
|
||||
assert_eq!(visible_windows[1].unwrap().hwnd, 100);
|
||||
assert_eq!(visible_windows[2].unwrap().hwnd, 300);
|
||||
}
|
||||
|
||||
// Maximize window 200
|
||||
workspace.set_maximized_window(Some(Window { hwnd: 200 }));
|
||||
|
||||
{
|
||||
// visible_windows should return 200, 100, and 300
|
||||
let visible_windows = workspace.visible_windows();
|
||||
assert_eq!(visible_windows.len(), 3);
|
||||
assert_eq!(visible_windows[0].unwrap().hwnd, 200);
|
||||
assert_eq!(visible_windows[1].unwrap().hwnd, 100);
|
||||
assert_eq!(visible_windows[2].unwrap().hwnd, 300);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user