forked from extern/nushell
Make optional cell paths work with reject
(#8697)
This PR makes `?` work with `reject`. For example: ```bash > {} | reject foo Error: nu:🐚:column_not_found × Cannot find column ╭─[entry #2:1:1] 1 │ {} | reject foo · ───┬── ─┬─ · │ ╰── cannot find column 'foo' · ╰── value originates here ╰──── > {} | reject foo? ╭──────────────╮ │ empty record │ ╰──────────────╯ ``` This was prompted by [a user question](https://discord.com/channels/601130461678272522/614593951969574961/1091466428546306078). I would like to get this in for 0.78, I think it's low-risk and I want the `?` feature to be as polished as possible for its debut.
This commit is contained in:
@ -147,3 +147,24 @@ fn reject_large_vec_with_two_identical_elements() {
|
||||
assert!(actual.out.contains("100"));
|
||||
assert!(actual.out.contains('2'));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn reject_optional_column() {
|
||||
let actual = nu!("{} | reject foo? | to nuon");
|
||||
assert_eq!(actual.out, "{}");
|
||||
|
||||
let actual = nu!("[{}] | reject foo? | to nuon");
|
||||
assert_eq!(actual.out, "[{}]");
|
||||
|
||||
let actual = nu!("[{} {foo: 2}] | reject foo? | to nuon");
|
||||
assert_eq!(actual.out, "[{}, {}]");
|
||||
|
||||
let actual = nu!("[{foo: 1} {foo: 2}] | reject foo? | to nuon");
|
||||
assert_eq!(actual.out, "[{}, {}]");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn reject_optional_row() {
|
||||
let actual = nu!("[{foo: 'bar'}] | reject 3? | to nuon");
|
||||
assert_eq!(actual.out, "[[foo]; [bar]]");
|
||||
}
|
||||
|
Reference in New Issue
Block a user