diff --git a/crates/nu-command/tests/commands/reduce.rs b/crates/nu-command/tests/commands/reduce.rs index b87d6af19..35bdc394f 100644 --- a/crates/nu-command/tests/commands/reduce.rs +++ b/crates/nu-command/tests/commands/reduce.rs @@ -46,6 +46,25 @@ fn reduce_rows_example() { assert_eq!(actual.out, "14.8"); } +#[test] +fn reduce_with_return_in_closure() { + let actual = nu!( + cwd: ".", pipeline( + r#" + [1, 2] | reduce --fold null { |it, state| + if $it == 1 { + return 10 + }; + return ($it * $state) + } + "# + ) + ); + + assert_eq!(actual.out, "20"); + assert!(actual.err.is_empty()); +} + #[test] fn reduce_enumerate_example() { let actual = nu!(