1 #![allow(unused_variables)]
3 // ignore-cloudabi no environment variables present
4 // ignore-emscripten env vars don't work?
5 // ignore-sgx env vars cannot be modified
8 use std::path::PathBuf;
12 let oldhome = var("HOME");
14 set_var("HOME", "/home/MountainView");
15 assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
18 if cfg!(target_os = "android") {
19 assert!(home_dir().is_none());
21 // When HOME is not set, some platforms return `None`,
22 // but others return `Some` with a default.
23 // Just check that it is not "/home/MountainView".
24 assert_ne!(home_dir(), Some(PathBuf::from("/home/MountainView")));
30 let oldhome = var("HOME");
31 let olduserprofile = var("USERPROFILE");
34 remove_var("USERPROFILE");
36 assert!(home_dir().is_some());
38 set_var("HOME", "/home/MountainView");
39 assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
43 set_var("USERPROFILE", "/home/MountainView");
44 assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
46 set_var("HOME", "/home/MountainView");
47 set_var("USERPROFILE", "/home/PaloAlto");
48 assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));