2024-03-12 11:34:32 +00:00
|
|
|
use nu_test_support::nu_with_plugins;
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn get_env_by_name() {
|
|
|
|
let result = nu_with_plugins!(
|
|
|
|
cwd: ".",
|
|
|
|
plugin: ("nu_plugin_example"),
|
|
|
|
r#"
|
2024-07-30 23:55:22 +00:00
|
|
|
$env.FOO = 'bar'
|
2024-03-19 17:36:46 +00:00
|
|
|
example env FOO | print
|
2024-07-30 23:55:22 +00:00
|
|
|
$env.FOO = 'baz'
|
2024-03-19 17:36:46 +00:00
|
|
|
example env FOO | print
|
2024-03-12 11:34:32 +00:00
|
|
|
"#
|
|
|
|
);
|
|
|
|
assert!(result.status.success());
|
|
|
|
assert_eq!("barbaz", result.out);
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn get_envs() {
|
|
|
|
let result = nu_with_plugins!(
|
|
|
|
cwd: ".",
|
|
|
|
plugin: ("nu_plugin_example"),
|
2024-07-30 23:55:22 +00:00
|
|
|
"$env.BAZ = 'foo'; example env | get BAZ"
|
2024-03-12 11:34:32 +00:00
|
|
|
);
|
|
|
|
assert!(result.status.success());
|
|
|
|
assert_eq!("foo", result.out);
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn get_current_dir() {
|
|
|
|
let cwd = std::env::current_dir()
|
|
|
|
.expect("failed to get current dir")
|
|
|
|
.join("tests")
|
|
|
|
.to_string_lossy()
|
|
|
|
.into_owned();
|
|
|
|
let result = nu_with_plugins!(
|
|
|
|
cwd: ".",
|
|
|
|
plugin: ("nu_plugin_example"),
|
2024-03-19 17:36:46 +00:00
|
|
|
"cd tests; example env --cwd"
|
2024-03-12 11:34:32 +00:00
|
|
|
);
|
|
|
|
assert!(result.status.success());
|
2024-11-27 12:27:06 +00:00
|
|
|
#[cfg(not(windows))]
|
2024-03-12 11:34:32 +00:00
|
|
|
assert_eq!(cwd, result.out);
|
2024-11-27 12:27:06 +00:00
|
|
|
#[cfg(windows)]
|
|
|
|
{
|
|
|
|
// cwd == r"e:\Study\Nushell", while result.out == r"E:\Study\Nushell"
|
|
|
|
assert_eq!(
|
|
|
|
cwd.chars().next().unwrap().to_ascii_uppercase(),
|
|
|
|
result.out.chars().next().unwrap().to_ascii_uppercase()
|
|
|
|
);
|
|
|
|
assert_eq!(cwd[1..], result.out[1..]);
|
|
|
|
}
|
2024-03-12 11:34:32 +00:00
|
|
|
}
|
2024-03-15 11:45:45 +00:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn set_env() {
|
|
|
|
let result = nu_with_plugins!(
|
|
|
|
cwd: ".",
|
|
|
|
plugin: ("nu_plugin_example"),
|
2024-03-19 17:36:46 +00:00
|
|
|
"example env NUSHELL_OPINION --set=rocks; $env.NUSHELL_OPINION"
|
2024-03-15 11:45:45 +00:00
|
|
|
);
|
|
|
|
assert!(result.status.success());
|
|
|
|
assert_eq!("rocks", result.out);
|
|
|
|
}
|