Display rows in the same table regardless of their column order given they are equal. (#1392)

This commit is contained in:
Andrés N. Robalino
2020-02-16 20:35:01 -05:00
committed by GitHub
parent 71615f77a7
commit 4fd9974204
2 changed files with 42 additions and 4 deletions

View File

@@ -1,6 +1,8 @@
mod commands;
use nu_test_support::fs::Stub::FileWithContentToBeTrimmed;
use nu_test_support::nu;
use nu_test_support::playground::Playground;
#[test]
fn doesnt_break_on_utf8() {
@@ -8,3 +10,31 @@ fn doesnt_break_on_utf8() {
assert_eq!(actual, "ö", "'{}' should contain ö", actual);
}
#[test]
fn visualize_one_table_given_rows_with_same_columns_regardless_of_their_order_per_row() {
Playground::setup("visualize_table_test_1", |dirs, sandbox| {
sandbox.with_files(vec![FileWithContentToBeTrimmed(
"unordered_columns.txt",
r#"
[
{"name":"Andrés", "rusty_luck": 1 },
{"rusty_luck": 1, "name": "Jonathan"},
]
"#,
)]);
let actual = nu!(
cwd: dirs.test(), "open unordered_columns.txt | from-json"
);
let name_column_indices: Vec<_> = actual.match_indices("name").collect();
let rusty_luck_column_indices: Vec<_> = actual.match_indices("rusty_luck").collect();
for (index, (name_index, _)) in name_column_indices.iter().enumerate() {
let (rusty_luck_index, _) = rusty_luck_column_indices[index];
assert!(name_index < &rusty_luck_index);
}
})
}