2024-03-26 06:57:55 +01:00
|
|
|
use nu_test_support::{nu, pipeline, playground::Playground};
|
2023-07-21 15:25:06 +02:00
|
|
|
|
|
|
|
#[test]
|
2024-03-26 06:57:55 +01:00
|
|
|
fn detect_columns_with_legacy() {
|
2023-07-21 15:25:06 +02:00
|
|
|
let cases = [(
|
|
|
|
"$\"c1 c2 c3 c4 c5(char nl)a b c d e\"",
|
|
|
|
"[[c1,c2,c3,c4,c5]; [a,b,c,d,e]]",
|
|
|
|
)];
|
|
|
|
|
|
|
|
Playground::setup("detect_columns_test_1", |dirs, _| {
|
|
|
|
for case in cases.into_iter() {
|
|
|
|
let out = nu!(
|
|
|
|
cwd: dirs.test(),
|
2024-03-30 01:59:57 +01:00
|
|
|
"({} | detect columns) == {}",
|
2023-07-21 15:25:06 +02:00
|
|
|
case.0,
|
|
|
|
case.1
|
|
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
|
|
out.out, "true",
|
2024-03-30 01:59:57 +01:00
|
|
|
"({} | detect columns) == {}",
|
2023-07-21 15:25:06 +02:00
|
|
|
case.0, case.1
|
|
|
|
);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
2024-03-26 06:57:55 +01:00
|
|
|
fn detect_columns_with_legacy_and_flag_c() {
|
2023-07-21 15:25:06 +02:00
|
|
|
let cases = [
|
|
|
|
(
|
|
|
|
"$\"c1 c2 c3 c4 c5(char nl)a b c d e\"",
|
|
|
|
"[[c1,c3,c4,c5]; ['a b',c,d,e]]",
|
2024-06-18 14:19:13 +02:00
|
|
|
"0..1",
|
2023-07-21 15:25:06 +02:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"$\"c1 c2 c3 c4 c5(char nl)a b c d e\"",
|
|
|
|
"[[c1,c2,c3,c4]; [a,b,c,'d e']]",
|
2024-06-18 14:19:13 +02:00
|
|
|
"(-2)..(-1)",
|
2023-07-21 15:25:06 +02:00
|
|
|
),
|
|
|
|
(
|
|
|
|
"$\"c1 c2 c3 c4 c5(char nl)a b c d e\"",
|
|
|
|
"[[c1,c2,c3]; [a,b,'c d e']]",
|
|
|
|
"2..",
|
|
|
|
),
|
|
|
|
];
|
|
|
|
|
|
|
|
Playground::setup("detect_columns_test_1", |dirs, _| {
|
|
|
|
for case in cases.into_iter() {
|
|
|
|
let out = nu!(
|
|
|
|
cwd: dirs.test(),
|
2024-03-30 01:59:57 +01:00
|
|
|
"({} | detect columns --combine-columns {}) == {}",
|
2023-07-21 15:25:06 +02:00
|
|
|
case.0,
|
|
|
|
case.2,
|
|
|
|
case.1,
|
|
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
|
|
out.out, "true",
|
2024-03-30 01:59:57 +01:00
|
|
|
"({} | detect columns --combine-columns {}) == {}",
|
2023-07-21 15:25:06 +02:00
|
|
|
case.0, case.2, case.1
|
|
|
|
);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2024-03-26 06:57:55 +01:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn detect_columns_with_flag_c() {
|
|
|
|
let body = "$\"
|
|
|
|
total 284K(char nl)
|
|
|
|
drwxr-xr-x 2 root root 4.0K Mar 20 08:28 =(char nl)
|
|
|
|
drwxr-xr-x 4 root root 4.0K Mar 20 08:18 ~(char nl)
|
|
|
|
-rw-r--r-- 1 root root 3.0K Mar 20 07:23 ~asdf(char nl)\"";
|
|
|
|
let expected = "[
|
2024-06-18 14:19:13 +02:00
|
|
|
['column0', 'column1', 'column2', 'column3', 'column4', 'column5', 'column7', 'column8'];
|
|
|
|
['drwxr-xr-x', '2', 'root', 'root', '4.0K', 'Mar 20', '08:28', '='],
|
|
|
|
['drwxr-xr-x', '4', 'root', 'root', '4.0K', 'Mar 20', '08:18', '~'],
|
|
|
|
['-rw-r--r--', '1', 'root', 'root', '3.0K', 'Mar 20', '07:23', '~asdf']
|
2024-03-26 06:57:55 +01:00
|
|
|
]";
|
2024-05-22 19:00:58 +02:00
|
|
|
let range = "5..6";
|
2024-03-26 06:57:55 +01:00
|
|
|
let cmd = format!(
|
|
|
|
"({} | detect columns -c {} -s 1 --no-headers) == {}",
|
|
|
|
pipeline(body),
|
|
|
|
range,
|
|
|
|
pipeline(expected),
|
|
|
|
);
|
|
|
|
println!("debug cmd: {cmd}");
|
|
|
|
Playground::setup("detect_columns_test_1", |dirs, _| {
|
|
|
|
let out = nu!(
|
|
|
|
cwd: dirs.test(),
|
|
|
|
cmd,
|
|
|
|
);
|
|
|
|
println!("{}", out.out);
|
|
|
|
assert_eq!(out.out, "true");
|
|
|
|
})
|
|
|
|
}
|