use nu_test_support::nu_with_plugins; #[test] fn get_env_by_name() { let result = nu_with_plugins!( cwd: ".", plugin: ("nu_plugin_example"), r#" $env.FOO = 'bar' example env FOO | print $env.FOO = 'baz' example env FOO | print "# ); assert!(result.status.success()); assert_eq!("barbaz", result.out); } #[test] fn get_envs() { let result = nu_with_plugins!( cwd: ".", plugin: ("nu_plugin_example"), "$env.BAZ = 'foo'; example env | get BAZ" ); 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"), "cd tests; example env --cwd" ); assert!(result.status.success()); assert_eq!(cwd, result.out); } #[test] fn set_env() { let result = nu_with_plugins!( cwd: ".", plugin: ("nu_plugin_example"), "example env NUSHELL_OPINION --set=rocks; $env.NUSHELL_OPINION" ); assert!(result.status.success()); assert_eq!("rocks", result.out); }