forked from extern/nushell
don't allow break/continue in each
and items
command (#13398)
# Description Fixes: #11451 # User-Facing Changes ### Before ```nushell ❯ [1 2 3] | each {|e| break; print $e } ╭────────────╮ │ empty list │ ╰────────────╯ ``` ### After ``` ❯ [1 2 3] | each {|e| break; print $e } Error: nu:🐚:eval_block_with_input × Eval block failed with pipeline input ╭─[entry #9:1:2] 1 │ [1 2 3] | each {|e| break; print $e } · ┬ · ╰── source value ╰──── Error: × Break used outside of loop ╭─[entry #9:1:21] 1 │ [1 2 3] | each {|e| break; print $e } · ──┬── · ╰── used outside of loop ╰──── ``` # Tests + Formatting Removes some tests.
This commit is contained in:
@ -15,12 +15,3 @@ fn break_while_loop() {
|
||||
|
||||
assert_eq!(actual.out, "hello");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn break_each() {
|
||||
let actual = nu!("
|
||||
[1, 2, 3, 4, 5] | each {|x| if $x > 3 { break }; $x} | math sum
|
||||
");
|
||||
|
||||
assert_eq!(actual.out, "6");
|
||||
}
|
||||
|
@ -58,22 +58,6 @@ 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]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn errors_in_nested_each_show() {
|
||||
let actual = nu!("[[1,2]] | each {|x| $x | each {|y| error make {msg: \"oh noes\"} } }");
|
||||
|
Reference in New Issue
Block a user