mirror of
https://github.com/nushell/nushell.git
synced 2025-05-30 14:50:02 +02: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,
|
redirect_stderr,
|
||||||
) {
|
) {
|
||||||
Ok(v) => Some(v.into_value(span)),
|
Ok(v) => Some(v.into_value(span)),
|
||||||
|
Err(ShellError::Continue(v)) => Some(Value::nothing(v)),
|
||||||
Err(ShellError::Break(_)) => None,
|
Err(ShellError::Break(_)) => None,
|
||||||
Err(error) => {
|
Err(error) => {
|
||||||
let error = chain_error_with_input(error, input_span);
|
let error = chain_error_with_input(error, input_span);
|
||||||
@ -188,6 +189,7 @@ with 'transpose' first."#
|
|||||||
|
|
||||||
let x = match x {
|
let x = match x {
|
||||||
Ok(x) => x,
|
Ok(x) => x,
|
||||||
|
Err(ShellError::Continue(v)) => return Some(Value::nothing(v)),
|
||||||
Err(ShellError::Break(_)) => return None,
|
Err(ShellError::Break(_)) => return None,
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
return Some(Value::Error {
|
return Some(Value::Error {
|
||||||
@ -212,6 +214,7 @@ with 'transpose' first."#
|
|||||||
redirect_stderr,
|
redirect_stderr,
|
||||||
) {
|
) {
|
||||||
Ok(v) => Some(v.into_value(span)),
|
Ok(v) => Some(v.into_value(span)),
|
||||||
|
Err(ShellError::Continue(v)) => Some(Value::nothing(v)),
|
||||||
Err(ShellError::Break(_)) => None,
|
Err(ShellError::Break(_)) => None,
|
||||||
Err(error) => {
|
Err(error) => {
|
||||||
let error = Box::new(chain_error_with_input(error, input_span));
|
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]");
|
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…
x
Reference in New Issue
Block a user