Skip to content

Commit f2211fc

Browse files
add tests for floating panes
1 parent 12e4625 commit f2211fc

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
@@ -2319,6 +2319,108 @@ fn move_floating_pane_focus_with_mouse() {
23192319
assert_snapshot!(snapshot);
23202320
}
23212321

2322+
#[test]
2323+
fn move_floating_pane_focus_to_last_pane() {
2324+
let size = Size {
2325+
cols: 121,
2326+
rows: 20,
2327+
};
2328+
let client_id = 1;
2329+
let mut tab = create_new_tab(size, ModeInfo::default());
2330+
let new_pane_id_1 = PaneId::Terminal(2);
2331+
let new_pane_id_2 = PaneId::Terminal(3);
2332+
let new_pane_id_3 = PaneId::Terminal(4);
2333+
let new_pane_id_4 = PaneId::Terminal(5);
2334+
let new_pane_id_5 = PaneId::Terminal(6);
2335+
let mut output = Output::default();
2336+
tab.toggle_floating_panes(Some(client_id), None).unwrap();
2337+
tab.new_pane(
2338+
new_pane_id_1,
2339+
None,
2340+
None,
2341+
None,
2342+
None,
2343+
false,
2344+
true,
2345+
Some(client_id),
2346+
)
2347+
.unwrap();
2348+
tab.new_pane(
2349+
new_pane_id_2,
2350+
None,
2351+
None,
2352+
None,
2353+
None,
2354+
false,
2355+
true,
2356+
Some(client_id),
2357+
)
2358+
.unwrap();
2359+
tab.new_pane(
2360+
new_pane_id_3,
2361+
None,
2362+
None,
2363+
None,
2364+
None,
2365+
false,
2366+
true,
2367+
Some(client_id),
2368+
)
2369+
.unwrap();
2370+
tab.new_pane(
2371+
new_pane_id_4,
2372+
None,
2373+
None,
2374+
None,
2375+
None,
2376+
false,
2377+
true,
2378+
Some(client_id),
2379+
)
2380+
.unwrap();
2381+
tab.new_pane(
2382+
new_pane_id_5,
2383+
None,
2384+
None,
2385+
None,
2386+
None,
2387+
false,
2388+
true,
2389+
Some(client_id),
2390+
)
2391+
.unwrap();
2392+
tab.handle_pty_bytes(
2393+
2,
2394+
Vec::from("\n\n\n I am scratch terminal".as_bytes()),
2395+
)
2396+
.unwrap();
2397+
tab.handle_pty_bytes(3, Vec::from("\u{1b}#8".as_bytes()))
2398+
.unwrap();
2399+
tab.handle_pty_bytes(4, Vec::from("\u{1b}#8".as_bytes()))
2400+
.unwrap();
2401+
tab.handle_pty_bytes(5, Vec::from("\u{1b}#8".as_bytes()))
2402+
.unwrap();
2403+
tab.handle_pty_bytes(6, Vec::from("\u{1b}#8".as_bytes()))
2404+
.unwrap();
2405+
tab.move_focus_up(client_id).unwrap();
2406+
tab.focus_last_pane(client_id);
2407+
tab.render(&mut output).unwrap();
2408+
let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position(
2409+
output.serialize().unwrap().get(&client_id).unwrap(),
2410+
size.rows,
2411+
size.cols,
2412+
Palette::default(),
2413+
);
2414+
assert_eq!(
2415+
cursor_coordinates,
2416+
Some((5, 5)),
2417+
"cursor coordinates moved back to the last pane below"
2418+
);
2419+
2420+
assert_snapshot!(snapshot);
2421+
}
2422+
2423+
23222424
#[test]
23232425
fn move_pane_focus_with_mouse_to_non_floating_pane() {
23242426
let size = Size {

0 commit comments

Comments
 (0)