use smol::{LocalExecutor, io::AsyncReadExt};
use crate::common::{get_query_output_reader, parse_duper_values};
#[test]
fn skip() {
let query = r#"skip 2 | format "${.id:raw}""#;
let values = parse_duper_values(&[
r#"{id: "1"}"#,
r#"{id: "2"}"#,
r#"{id: "3"}"#,
r#"{id: "4"}"#,
r#"{id: "5"}"#,
]);
let executor = LocalExecutor::new();
let (mut reader, fut) = get_query_output_reader(&executor, query, values);
smol::block_on(async {
executor.run(fut).await;
let mut buf = String::new();
reader.read_to_string(&mut buf).await.unwrap();
let ids: Vec<&str> = buf.trim().lines().collect();
assert_eq!(ids, ["3", "4", "5"]);
});
}