3 #![allow(unused_variables)]
5 // ignore-cloudabi no environment variables present
6 // ignore-emscripten env vars don't work?
7 // ignore-sgx env vars cannot be modified
10 use std::path::PathBuf;
14 let oldhome = var("HOME");
16 set_var("HOME", "/home/MountainView");
17 assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
20 if cfg!(target_os = "android") {
21 assert!(home_dir().is_none());
23 // When HOME is not set, some platforms return `None`,
24 // but others return `Some` with a default.
25 // Just check that it is not "/home/MountainView".
26 assert_ne!(home_dir(), Some(PathBuf::from("/home/MountainView")));
32 let oldhome = var("HOME");
33 let olduserprofile = var("USERPROFILE");
36 remove_var("USERPROFILE");
38 assert!(home_dir().is_some());
40 set_var("HOME", "/home/MountainView");
41 assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
45 set_var("USERPROFILE", "/home/MountainView");
46 assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));
48 set_var("HOME", "/home/MountainView");
49 set_var("USERPROFILE", "/home/PaloAlto");
50 assert_eq!(home_dir(), Some(PathBuf::from("/home/MountainView")));