mirror of
https://github.com/nushell/nushell.git
synced 2024-11-07 17:14:23 +01:00
Apply continue
to each
(#8889)
# Description Fixes #8878 Add continue command on each and added new tests too .
This commit is contained in:
parent
45d33e70db
commit
fff4de5c44
@ -164,6 +164,7 @@ with 'transpose' first."#
|
||||
redirect_stderr,
|
||||
) {
|
||||
Ok(v) => Some(v.into_value(span)),
|
||||
Err(ShellError::Continue(v)) => Some(Value::nothing(v)),
|
||||
Err(ShellError::Break(_)) => None,
|
||||
Err(error) => {
|
||||
let error = chain_error_with_input(error, input_span);
|
||||
@ -188,6 +189,7 @@ with 'transpose' first."#
|
||||
|
||||
let x = match x {
|
||||
Ok(x) => x,
|
||||
Err(ShellError::Continue(v)) => return Some(Value::nothing(v)),
|
||||
Err(ShellError::Break(_)) => return None,
|
||||
Err(err) => {
|
||||
return Some(Value::Error {
|
||||
@ -212,6 +214,7 @@ with 'transpose' first."#
|
||||
redirect_stderr,
|
||||
) {
|
||||
Ok(v) => Some(v.into_value(span)),
|
||||
Err(ShellError::Continue(v)) => Some(Value::nothing(v)),
|
||||
Err(ShellError::Break(_)) => None,
|
||||
Err(error) => {
|
||||
let error = Box::new(chain_error_with_input(error, input_span));
|
||||
|
@ -73,3 +73,19 @@ fn each_while_uses_enumerate_index() {
|
||||
|
||||
assert_eq!(actual.out, "[0, 1, 2, 3]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn each_element_continue_command() {
|
||||
let actual =
|
||||
nu!("[1,2,3,4,6,7] | each { |x| if ($x mod 2 == 0) {continue} else { $x }} | to nuon");
|
||||
|
||||
assert_eq!(actual.out, "[1, 3, 7]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn each_element_break_command() {
|
||||
let actual =
|
||||
nu!("[1,2,5,4,6,7] | each { |x| if ($x mod 3 == 0) {break} else { $x }} | to nuon");
|
||||
|
||||
assert_eq!(actual.out, "[1, 2, 5, 4]");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user