agentmux_srv/backend/blockcontroller/shell/
spawn_cwd.rs1pub(crate) fn spawn_cwd(pane_cwd: &str, remote: bool) -> String {
11 if !pane_cwd.is_empty() || remote {
12 return pane_cwd.to_string();
13 }
14 crate::backend::base::get_home_dir().to_string_lossy().to_string()
15}
16
17#[cfg(test)]
18mod spawn_cwd_tests {
19 use super::spawn_cwd;
20
21 #[test]
22 fn keeps_the_panes_own_directory() {
23 assert_eq!(spawn_cwd("/work/proj", false), "/work/proj");
24 assert_eq!(spawn_cwd("/work/proj", true), "/work/proj");
25 }
26
27 #[test]
28 fn a_local_shell_without_one_starts_at_home() {
29 let home = crate::backend::base::get_home_dir().to_string_lossy().to_string();
30 assert_eq!(spawn_cwd("", false), home);
31 }
32
33 #[test]
34 fn a_remote_shell_gets_no_local_default() {
35 assert_eq!(spawn_cwd("", true), "");
36 }
37}