Skip to content

Commit 2e8e721

Browse files
add tests for floating panes
1 parent aab3a06 commit 2e8e721

File tree

2 files changed

+126
-0
lines changed

2 files changed

+126
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
source: zellij-server/src/tab/./unit/tab_integration_tests.rs
3+
expression: snapshot
4+
---
5+
00 (C): ┌ Pane #1 ──────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
6+
01 (C): │ │
7+
02 (C): │ ┌ Pane #5 ───── SCROLL: 0/1 | PIN [ ] ┐ │
8+
03 (C): │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
9+
04 (C): │ │EPane #6 ───── SCROLL: 0/1 | PIN [ ] ┐ │
10+
05 (C): │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│──────────────────────────────────── PIN [ ] ┐ │
11+
06 (C): │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │ │
12+
07 (C): │ └─│EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│─────────────────────── SCROLL: 0/1 | PIN [ ] ┐ │
13+
08 (C): │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
14+
09 (C): │ └──────────────────────────────────────┘───────────────────────── SCROLL: 0/1 | PIN [ ] ┐ │
15+
10 (C): │ │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
16+
11 (C): │ │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
17+
12 (C): │ │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
18+
13 (C): │ │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
19+
14 (C): │ └─│EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
20+
15 (C): │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
21+
16 (C): │ └─│EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
22+
17 (C): │ │EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE│ │
23+
18 (C): │ └──────────────────────────────────────────────────────────┘ │
24+
19 (C): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

zellij-server/src/tab/unit/tab_integration_tests.rs

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2300,6 +2300,108 @@ fn move_floating_pane_focus_with_mouse() {
23002300
assert_snapshot!(snapshot);
23012301
}
23022302

2303+
#[test]
2304+
fn move_floating_pane_focus_to_last_pane() {
2305+
let size = Size {
2306+
cols: 121,
2307+
rows: 20,
2308+
};
2309+
let client_id = 1;
2310+
let mut tab = create_new_tab(size, ModeInfo::default());
2311+
let new_pane_id_1 = PaneId::Terminal(2);
2312+
let new_pane_id_2 = PaneId::Terminal(3);
2313+
let new_pane_id_3 = PaneId::Terminal(4);
2314+
let new_pane_id_4 = PaneId::Terminal(5);
2315+
let new_pane_id_5 = PaneId::Terminal(6);
2316+
let mut output = Output::default();
2317+
tab.toggle_floating_panes(Some(client_id), None).unwrap();
2318+
tab.new_pane(
2319+
new_pane_id_1,
2320+
None,
2321+
None,
2322+
None,
2323+
None,
2324+
false,
2325+
true,
2326+
Some(client_id),
2327+
)
2328+
.unwrap();
2329+
tab.new_pane(
2330+
new_pane_id_2,
2331+
None,
2332+
None,
2333+
None,
2334+
None,
2335+
false,
2336+
true,
2337+
Some(client_id),
2338+
)
2339+
.unwrap();
2340+
tab.new_pane(
2341+
new_pane_id_3,
2342+
None,
2343+
None,
2344+
None,
2345+
None,
2346+
false,
2347+
true,
2348+
Some(client_id),
2349+
)
2350+
.unwrap();
2351+
tab.new_pane(
2352+
new_pane_id_4,
2353+
None,
2354+
None,
2355+
None,
2356+
None,
2357+
false,
2358+
true,
2359+
Some(client_id),
2360+
)
2361+
.unwrap();
2362+
tab.new_pane(
2363+
new_pane_id_5,
2364+
None,
2365+
None,
2366+
None,
2367+
None,
2368+
false,
2369+
true,
2370+
Some(client_id),
2371+
)
2372+
.unwrap();
2373+
tab.handle_pty_bytes(
2374+
2,
2375+
Vec::from("\n\n\n I am scratch terminal".as_bytes()),
2376+
)
2377+
.unwrap();
2378+
tab.handle_pty_bytes(3, Vec::from("\u{1b}#8".as_bytes()))
2379+
.unwrap();
2380+
tab.handle_pty_bytes(4, Vec::from("\u{1b}#8".as_bytes()))
2381+
.unwrap();
2382+
tab.handle_pty_bytes(5, Vec::from("\u{1b}#8".as_bytes()))
2383+
.unwrap();
2384+
tab.handle_pty_bytes(6, Vec::from("\u{1b}#8".as_bytes()))
2385+
.unwrap();
2386+
tab.move_focus_up(client_id).unwrap();
2387+
tab.focus_last_pane(client_id);
2388+
tab.render(&mut output).unwrap();
2389+
let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position(
2390+
output.serialize().unwrap().get(&client_id).unwrap(),
2391+
size.rows,
2392+
size.cols,
2393+
Palette::default(),
2394+
);
2395+
assert_eq!(
2396+
cursor_coordinates,
2397+
Some((5, 5)),
2398+
"cursor coordinates moved back to the last pane below"
2399+
);
2400+
2401+
assert_snapshot!(snapshot);
2402+
}
2403+
2404+
23032405
#[test]
23042406
fn move_pane_focus_with_mouse_to_non_floating_pane() {
23052407
let size = Size {

0 commit comments

Comments
 (0)