mirror of
https://github.com/nushell/nushell.git
synced 2025-03-30 01:28:11 +01:00
Show entire table if number of rows requested for last
is greater than table size (#2112)
* Show entire table if number of rows requested for last is greater than table size * rustfmt * Add test
This commit is contained in:
parent
8ea2307815
commit
9e82e5a2fa
@ -69,16 +69,18 @@ async fn last(args: CommandArgs, registry: &CommandRegistry) -> Result<OutputStr
|
||||
1
|
||||
};
|
||||
|
||||
let mut values_vec_deque = VecDeque::new();
|
||||
|
||||
let count = rows_desired as usize;
|
||||
|
||||
if count < v.len() {
|
||||
let k = v.len() - count;
|
||||
let k = if count < v.len() {
|
||||
v.len() - count
|
||||
} else {
|
||||
return Ok(futures::stream::iter(v).to_output_stream());
|
||||
};
|
||||
|
||||
for x in v[k..].iter() {
|
||||
values_vec_deque.push_back(ReturnSuccess::value(x.clone()));
|
||||
}
|
||||
let mut values_vec_deque = VecDeque::new();
|
||||
|
||||
for x in v[k..].iter() {
|
||||
values_vec_deque.push_back(ReturnSuccess::value(x.clone()));
|
||||
}
|
||||
|
||||
Ok(futures::stream::iter(values_vec_deque).to_output_stream())
|
||||
|
@ -54,3 +54,15 @@ fn gets_last_row_when_no_amount_given() {
|
||||
assert_eq!(actual.out, "1");
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn requests_more_rows_than_table_has() {
|
||||
let actual = nu!(
|
||||
cwd: ".", pipeline(
|
||||
r#"
|
||||
date | last 50 | count
|
||||
"#
|
||||
));
|
||||
|
||||
assert_eq!(actual.out, "1");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user