History

thorough checking of Tree extension (#293)

Sebastian Thiel committed 4 years ago

Commit d1063aa1 parent d0725bd1 file · +23 −0Browse files

Unified · Split

git-index/tests/index/file/mod.rs+23−0
@@ -1,4 +1,5 @@
11 mod init {
2+ use bstr::ByteSlice;
23 use std::path::{Path, PathBuf};
34
45 use git_index::{entry, Version};
@@ -34,6 +35,12 @@ mod init { · 29 unmodified lines
3435 assert!(entry.flags.is_empty());
3536 assert_eq!(entry.mode, entry::Mode::FILE);
3637 assert_eq!(entry.path(&file.state), "a");
38+
39+ let tree = file.tree().unwrap();
40+ assert_eq!(tree.num_entries, 1);
41+ assert_eq!(tree.id, hex_to_id("496d6428b9cf92981dc9495211e6e1120fb6f2ba"));
42+ assert!(tree.name.is_empty());
43+ assert!(tree.children.is_empty());
3744 }
3845 }
3946 #[test]
@@ -41,6 +48,11 @@ mod init { · 1 unmodified line
4148 let file = file("v2_empty");
4249 assert_eq!(file.version(), Version::V2);
4350 assert_eq!(file.entries().len(), 0);
51+ let tree = file.tree().unwrap();
52+ assert_eq!(tree.num_entries, 0);
53+ assert!(tree.name.is_empty());
54+ assert!(tree.children.is_empty());
55+ assert_eq!(tree.id, hex_to_id("4b825dc642cb6eb9a060e54bf8d69288fbee4904"));
4456 }
4557
4658 #[test]
@@ -56,6 +68,17 @@ mod init { · 9 unmodified lines
5668 assert_eq!(e.mode, entry::Mode::FILE);
5769 assert_eq!(e.id, hex_to_id("e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"))
5870 }
71+
72+ let tree = file.tree().unwrap();
73+ assert_eq!(tree.id, hex_to_id("c9b29c3168d8e677450cc650238b23d9390801fb"));
74+ assert_eq!(tree.num_entries, 6);
75+ assert!(tree.name.is_empty());
76+ assert_eq!(tree.children.len(), 1);
77+
78+ let tree = &tree.children[0];
79+ assert_eq!(tree.id, hex_to_id("765b32c65d38f04c4f287abda055818ec0f26912"));
80+ assert_eq!(tree.num_entries, 3);
81+ assert_eq!(tree.name.as_bstr(), "d");
5982 }
6083
6184 fn find_shared_index_for(index: impl AsRef<Path>) -> PathBuf {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t