mirror of
https://github.com/nushell/nushell
synced 2025-01-27 12:25:19 +00:00
Remove redundant .to_string(), refactor tests to reduce duplicate code segment.
This commit is contained in:
parent
1e8d6aa5c4
commit
b1de37302a
1 changed files with 28 additions and 40 deletions
|
@ -86,7 +86,7 @@ pub mod windows {
|
||||||
// /c/Users/nushell will be supported later.
|
// /c/Users/nushell will be supported later.
|
||||||
Err(ShellError::InvalidValue {
|
Err(ShellError::InvalidValue {
|
||||||
valid: "can't detect drive letter.".into(),
|
valid: "can't detect drive letter.".into(),
|
||||||
actual: format!("{}", path_string.to_string()),
|
actual: path_string,
|
||||||
span: Span::unknown(),
|
span: Span::unknown(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -300,25 +300,8 @@ pub mod windows {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
// Helper shared by tests
|
||||||
fn test_set_pwd() {
|
fn verify_result_is_shell_error_invalid_value(result: Result<(), ShellError>) {
|
||||||
let mut stack = Stack::new();
|
|
||||||
let path_str = r"c:\users\nushell";
|
|
||||||
let result = set_pwd(&mut stack, path_str.into_value(Span::unknown()));
|
|
||||||
let engine_state = EngineState::new();
|
|
||||||
assert!(result.is_ok());
|
|
||||||
assert_eq!(
|
|
||||||
stack
|
|
||||||
.get_env_var(&engine_state, &env_var_for_drive('c'))
|
|
||||||
.unwrap()
|
|
||||||
.clone()
|
|
||||||
.into_string()
|
|
||||||
.unwrap(),
|
|
||||||
path_str.to_string()
|
|
||||||
);
|
|
||||||
|
|
||||||
// Non string value will get shell error
|
|
||||||
let result = set_pwd(&mut stack, 2.into_value(Span::unknown()));
|
|
||||||
match result {
|
match result {
|
||||||
Ok(_) => panic!("Should not Ok"),
|
Ok(_) => panic!("Should not Ok"),
|
||||||
Err(ShellError::InvalidValue {
|
Err(ShellError::InvalidValue {
|
||||||
|
@ -340,6 +323,30 @@ pub mod windows {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_set_pwd() {
|
||||||
|
let mut stack = Stack::new();
|
||||||
|
let path_str = r"c:\users\nushell";
|
||||||
|
let result = set_pwd(&mut stack, path_str.into_value(Span::unknown()));
|
||||||
|
let engine_state = EngineState::new();
|
||||||
|
assert!(result.is_ok());
|
||||||
|
assert_eq!(
|
||||||
|
stack
|
||||||
|
.get_env_var(&engine_state, &env_var_for_drive('c'))
|
||||||
|
.unwrap()
|
||||||
|
.clone()
|
||||||
|
.into_string()
|
||||||
|
.unwrap(),
|
||||||
|
path_str.to_string()
|
||||||
|
);
|
||||||
|
|
||||||
|
// Non string value will get shell error
|
||||||
|
verify_result_is_shell_error_invalid_value(set_pwd(
|
||||||
|
&mut stack,
|
||||||
|
2.into_value(Span::unknown()),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_retain_result_set_pwd_and_fetch_result() {
|
fn test_retain_result_set_pwd_and_fetch_result() {
|
||||||
let mut stack = Stack::new();
|
let mut stack = Stack::new();
|
||||||
|
@ -359,26 +366,7 @@ pub mod windows {
|
||||||
|
|
||||||
// Non string value will get shell error
|
// Non string value will get shell error
|
||||||
retain_result_set_pwd(&mut stack, 2.into_value(Span::unknown()));
|
retain_result_set_pwd(&mut stack, 2.into_value(Span::unknown()));
|
||||||
let result = fetch_result(&mut stack);
|
verify_result_is_shell_error_invalid_value(fetch_result(&mut stack));
|
||||||
match result {
|
|
||||||
Ok(_) => panic!("Should not Ok"),
|
|
||||||
Err(ShellError::InvalidValue {
|
|
||||||
valid,
|
|
||||||
actual,
|
|
||||||
span,
|
|
||||||
}) => {
|
|
||||||
assert_eq!(
|
|
||||||
valid,
|
|
||||||
"$env.PWD should have String type and String::from_value() should be OK()."
|
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
actual,
|
|
||||||
"type int, String::from_value() got \"Can't convert to string.\"."
|
|
||||||
);
|
|
||||||
assert_eq!(span, Span::unknown());
|
|
||||||
}
|
|
||||||
Err(e) => panic!("Should not be other error {}", e.to_string()),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Reference in a new issue