Skip to content

Commit 210c661

Browse files
committed
tree: tests: Make the test tree have 8 entries, to allow more thorough testing
This will allow testing advancement by more than 1 at a time.
1 parent 8136881 commit 210c661

File tree

1 file changed

+27
-16
lines changed

1 file changed

+27
-16
lines changed

src/tree.rs

+27-16
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@ mod tests {
472472

473473
let tree = repo.find_tree(commit.tree_id()).unwrap();
474474
assert_eq!(tree.id(), commit.tree_id());
475-
assert_eq!(tree.len(), 1);
475+
assert_eq!(tree.len(), 8);
476476

477477
for entry in tree_iter(&tree, &repo) {
478478
println!("iter entry {:?}", entry.name());
@@ -481,11 +481,14 @@ mod tests {
481481

482482
fn setup_repo(td: &TempDir, repo: &Repository) {
483483
let mut index = repo.index().unwrap();
484-
File::create(&td.path().join("foo"))
485-
.unwrap()
486-
.write_all(b"foo")
487-
.unwrap();
488-
index.add_path(Path::new("foo")).unwrap();
484+
for n in 0..8 {
485+
let name = format!("f{n}");
486+
File::create(&td.path().join(&name))
487+
.unwrap()
488+
.write_all(name.as_bytes())
489+
.unwrap();
490+
index.add_path(Path::new(&name)).unwrap();
491+
}
489492
let id = index.write_tree().unwrap();
490493
let sig = repo.signature().unwrap();
491494
let tree = repo.find_tree(id).unwrap();
@@ -515,14 +518,22 @@ mod tests {
515518

516519
let tree = repo.find_tree(commit.tree_id()).unwrap();
517520
assert_eq!(tree.id(), commit.tree_id());
518-
assert_eq!(tree.len(), 1);
521+
assert_eq!(tree.len(), 8);
519522
{
520-
let e1 = tree.get(0).unwrap();
523+
let e0 = tree.get(0).unwrap();
524+
assert!(e0 == tree.get_id(e0.id()).unwrap());
525+
assert!(e0 == tree.get_name("f0").unwrap());
526+
assert!(e0 == tree.get_name_bytes(b"f0").unwrap());
527+
assert!(e0 == tree.get_path(Path::new("f0")).unwrap());
528+
assert_eq!(e0.name(), Some("f0"));
529+
e0.to_object(&repo).unwrap();
530+
531+
let e1 = tree.get(1).unwrap();
521532
assert!(e1 == tree.get_id(e1.id()).unwrap());
522-
assert!(e1 == tree.get_name("foo").unwrap());
523-
assert!(e1 == tree.get_name_bytes(b"foo").unwrap());
524-
assert!(e1 == tree.get_path(Path::new("foo")).unwrap());
525-
assert_eq!(e1.name(), Some("foo"));
533+
assert!(e1 == tree.get_name("f1").unwrap());
534+
assert!(e1 == tree.get_name_bytes(b"f1").unwrap());
535+
assert!(e1 == tree.get_path(Path::new("f1")).unwrap());
536+
assert_eq!(e1.name(), Some("f1"));
526537
e1.to_object(&repo).unwrap();
527538
}
528539
tree.into_object();
@@ -551,20 +562,20 @@ mod tests {
551562

552563
let mut ct = 0;
553564
tree.walk(TreeWalkMode::PreOrder, |_, entry| {
554-
assert_eq!(entry.name(), Some("foo"));
565+
assert_eq!(entry.name(), Some(format!("f{ct}").as_str()));
555566
ct += 1;
556567
0
557568
})
558569
.unwrap();
559-
assert_eq!(ct, 1);
570+
assert_eq!(ct, 8);
560571

561572
let mut ct = 0;
562573
tree.walk(TreeWalkMode::PreOrder, |_, entry| {
563-
assert_eq!(entry.name(), Some("foo"));
574+
assert_eq!(entry.name(), Some(format!("f{ct}").as_str()));
564575
ct += 1;
565576
TreeWalkResult::Ok
566577
})
567578
.unwrap();
568-
assert_eq!(ct, 1);
579+
assert_eq!(ct, 8);
569580
}
570581
}

0 commit comments

Comments
 (0)