tests: add test for d0

Test to stop bug in previous commit occuring
Also cargo clippy
This commit is contained in:
andy.boot
2025-07-28 22:20:37 +01:00
parent 222cd83ff3
commit 3cce61f854
2 changed files with 24 additions and 18 deletions

View File

@@ -32,25 +32,23 @@ pub fn get_biggest(
if number_top_level_nodes == 0 { if number_top_level_nodes == 0 {
root = total_node_builder(0, vec![]) root = total_node_builder(0, vec![])
} else { } else if number_top_level_nodes > 1 {
if number_top_level_nodes > 1 { let size = if by_filetime.is_some() {
let size = if by_filetime.is_some() { top_level_nodes
top_level_nodes .iter()
.iter() .map(|node| node.size)
.map(|node| node.size) .max()
.max() .unwrap_or(0)
.unwrap_or(0)
} else {
top_level_nodes.iter().map(|node| node.size).sum()
};
let nodes = handle_duplicate_top_level_names(top_level_nodes, display_data.short_paths);
root = total_node_builder(size, nodes);
heap = always_add_children(&display_data, &root, heap);
} else { } else {
root = top_level_nodes.into_iter().next().unwrap(); top_level_nodes.iter().map(|node| node.size).sum()
heap = add_children(&display_data, &root, heap); };
}
let nodes = handle_duplicate_top_level_names(top_level_nodes, display_data.short_paths);
root = total_node_builder(size, nodes);
heap = always_add_children(&display_data, &root, heap);
} else {
root = top_level_nodes.into_iter().next().unwrap();
heap = add_children(&display_data, &root, heap);
} }
fill_remaining_lines(heap, &root, display_data, keep_collapsed) fill_remaining_lines(heap, &root, display_data, keep_collapsed)

View File

@@ -62,6 +62,14 @@ pub fn test_d_flag_works() {
assert!(!output.contains("hello_file")); assert!(!output.contains("hello_file"));
} }
#[test]
pub fn test_d0_works_on_multiple() {
// We should see the top level directory but not the sub dirs / files:
let output = build_command(vec!["-d", "0", "tests/test_dir/", "tests/test_dir2"]);
assert!(output.contains("test_dir "));
assert!(output.contains("test_dir2"));
}
#[test] #[test]
pub fn test_threads_flag_works() { pub fn test_threads_flag_works() {
let output = build_command(vec!["-T", "1", "tests/test_dir/"]); let output = build_command(vec!["-T", "1", "tests/test_dir/"]);