forked from extern/nushell
# Description Improve error when `str replace <pattern>` detects a problem with <pattern>. # User-Facing Changes New "Incorrect value" error: ``` 〉 'C:\Users\kubouch' | str replace 'C:\Users' 'foo' Error: nu:🐚:incorrect_value (link) × Incorrect value. ╭─[entry #1:1:1] 1 │ 'C:\Users\kubouch' | str replace 'C:\Users' 'foo' · ─────┬──── · ╰── Regex error: Parsing error at position 4: Invalid hex escape ╰──── ``` We could fruitfully replace some of the current uses of `ShellError::UnsupportedInput` with this error. 'Incorrect value' is different from 'wrong type' # Tests + Formatting Don't forget to add tests that cover your changes. * none added / changed. Make sure you've run and fixed any issues with these commands: - [x] `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - [x] `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - [x] `cargo test --workspace` to check that all tests pass # After Submitting If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date.
This commit is contained in:
@ -199,6 +199,26 @@ fn find_and_replaces_without_passing_field() {
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn regex_error_in_pattern() {
|
||||
Playground::setup("str_test_8", |dirs, _sandbox| {
|
||||
let actual = nu!(
|
||||
cwd: dirs.test(), pipeline(
|
||||
r#"
|
||||
'source string'
|
||||
| str replace 'source \Ufoo' "destination"
|
||||
"#
|
||||
));
|
||||
|
||||
let err = actual.err;
|
||||
let expecting_str = "Incorrect value";
|
||||
assert!(
|
||||
err.contains(expecting_str),
|
||||
"Error should contain '{expecting_str}', but was: {err}"
|
||||
);
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn substrings_the_input() {
|
||||
Playground::setup("str_test_8", |dirs, sandbox| {
|
||||
|
Reference in New Issue
Block a user