diff --git a/.gitignore b/.gitignore index ea8c4bf..bd670cc 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /target +test/ +!test/li.txt diff --git a/src/node.rs b/src/node.rs index 2877c17..ff044cd 100644 --- a/src/node.rs +++ b/src/node.rs @@ -319,9 +319,13 @@ mod tests { fn from_path() { let links = Mutex::new(HashMap::new()); let node = Node::from_path("test/li.txt", Algorithm::Sha256, &links).unwrap(); - let FileType::Normal(f) = node.filetype else { panic!() }; + let FileType::Normal(f) = node.filetype else { + panic!() + }; assert_eq!(f.len, 1005); - let Checksum::Sha256(sum) = f.checksum else { panic!() }; + let Checksum::Sha256(sum) = f.checksum else { + panic!() + }; let mut s = String::new(); for c in &sum { write!(s, "{c:02x}").unwrap(); @@ -344,8 +348,12 @@ mod tests { let fd = std::fs::File::open("test/li.node").unwrap(); let mut reader = BufReader::new(fd); let node = Node::read(&mut reader).unwrap(); - let FileType::Normal(f) = node.filetype else { panic!() }; - let Checksum::Sha1(sum) = f.checksum else { panic!() }; + let FileType::Normal(f) = node.filetype else { + panic!() + }; + let Checksum::Sha1(sum) = f.checksum else { + panic!() + }; let mut s = String::new(); for c in &sum { write!(s, "{c:02x}").unwrap(); @@ -353,4 +361,13 @@ mod tests { assert_eq!(s, "9bf3e5b5efd22f932e100b86c83482787e82a682"); assert_eq!(LI, f.data); } + + #[test] + fn extract_file() { + let links = Mutex::new(HashMap::new()); + let node = Node::from_path("test/li.txt", Algorithm::Sha256, &links).unwrap(); + node.extract(Some("test/output")).unwrap(); + let f = fs::read_to_string("test/output/test/li.txt").unwrap(); + assert_eq!(f.as_bytes(), LI); + } } diff --git a/test/device b/test/device deleted file mode 100644 index 698e4c6..0000000 Binary files a/test/device and /dev/null differ diff --git a/test/file b/test/file deleted file mode 100644 index 0c1ee0b..0000000 Binary files a/test/file and /dev/null differ diff --git a/test/li.node b/test/li.node deleted file mode 100644 index ae67c6c..0000000 Binary files a/test/li.node and /dev/null differ diff --git a/test/md5 b/test/md5 deleted file mode 100644 index d8848b1..0000000 Binary files a/test/md5 and /dev/null differ diff --git a/test/sha1 b/test/sha1 deleted file mode 100644 index 2a1bdc4..0000000 Binary files a/test/sha1 and /dev/null differ