forked from extern/nushell
remove the unfold
command (#10773)
follow-up to: - https://github.com/nushell/nushell/pull/10771 > **Important** > wait for between 0.87 and 0.88 to land this # Description after deprecation comes the removal... this PR removes `unfold` in favor of `generate` 🥳 # User-Facing Changes users should use `generate` now, `unfold` will stop working. # Tests + Formatting # After Submitting
This commit is contained in:
@ -1,102 +0,0 @@
|
||||
use nu_test_support::{nu, pipeline};
|
||||
|
||||
#[test]
|
||||
fn unfold_no_next_break() {
|
||||
let actual =
|
||||
nu!("unfold 1 {|x| if $x == 3 { {out: $x}} else { {out: $x, next: ($x + 1)} }} | to nuon");
|
||||
|
||||
assert_eq!(actual.out, "[1, 2, 3]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unfold_null_break() {
|
||||
let actual = nu!("unfold 1 {|x| if $x <= 3 { {out: $x, next: ($x + 1)} }} | to nuon");
|
||||
|
||||
assert_eq!(actual.out, "[1, 2, 3]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unfold_allows_empty_output() {
|
||||
let actual = nu!(pipeline(
|
||||
r#"
|
||||
unfold 0 {|x|
|
||||
if $x == 1 {
|
||||
{next: ($x + 1)}
|
||||
} else if $x < 3 {
|
||||
{out: $x, next: ($x + 1)}
|
||||
}
|
||||
} | to nuon
|
||||
"#
|
||||
));
|
||||
|
||||
assert_eq!(actual.out, "[0, 2]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unfold_allows_no_output() {
|
||||
let actual = nu!(pipeline(
|
||||
r#"
|
||||
unfold 0 {|x|
|
||||
if $x < 3 {
|
||||
{next: ($x + 1)}
|
||||
}
|
||||
} | to nuon
|
||||
"#
|
||||
));
|
||||
|
||||
assert_eq!(actual.out, "[]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unfold_allows_null_state() {
|
||||
let actual = nu!(pipeline(
|
||||
r#"
|
||||
unfold 0 {|x|
|
||||
if $x == null {
|
||||
{out: "done"}
|
||||
} else if $x < 1 {
|
||||
{out: "going", next: ($x + 1)}
|
||||
} else {
|
||||
{out: "stopping", next: null}
|
||||
}
|
||||
} | to nuon
|
||||
"#
|
||||
));
|
||||
|
||||
assert_eq!(actual.out, "[going, stopping, done]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unfold_allows_null_output() {
|
||||
let actual = nu!(pipeline(
|
||||
r#"
|
||||
unfold 0 {|x|
|
||||
if $x == 3 {
|
||||
{out: "done"}
|
||||
} else {
|
||||
{out: null, next: ($x + 1)}
|
||||
}
|
||||
} | to nuon
|
||||
"#
|
||||
));
|
||||
|
||||
assert_eq!(actual.out, "[null, null, null, done]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unfold_disallows_extra_keys() {
|
||||
let actual = nu!("unfold 0 {|x| {foo: bar, out: $x}}");
|
||||
assert!(actual.err.contains("Invalid block return"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unfold_disallows_list() {
|
||||
let actual = nu!("unfold 0 {|x| [$x, ($x + 1)]}");
|
||||
assert!(actual.err.contains("Invalid block return"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unfold_disallows_primitive() {
|
||||
let actual = nu!("unfold 0 {|x| 1}");
|
||||
assert!(actual.err.contains("Invalid block return"));
|
||||
}
|
Reference in New Issue
Block a user