From 5028250a7e8fdc6afdb1ce2b53a9ba708bb285b8 Mon Sep 17 00:00:00 2001 From: Nathan Fisher Date: Sat, 28 Oct 2023 19:10:10 -0400 Subject: [PATCH] Add "node::extract" test; Remove test objects from git; --- .gitignore | 2 ++ src/node.rs | 25 +++++++++++++++++++++---- test/device | Bin 8 -> 0 bytes test/file | Bin 1034 -> 0 bytes test/li.node | Bin 1065 -> 0 bytes test/md5 | Bin 17 -> 0 bytes test/sha1 | Bin 21 -> 0 bytes 7 files changed, 23 insertions(+), 4 deletions(-) delete mode 100644 test/device delete mode 100644 test/file delete mode 100644 test/li.node delete mode 100644 test/md5 delete mode 100644 test/sha1 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 698e4c6c67801bbe647bf489b2725c26dbd6a3f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 NcmdO5U|?_sVgLec0B`^R diff --git a/test/file b/test/file deleted file mode 100644 index 0c1ee0b1895afbfc0badd5985a314daeff4ab5a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1034 zcmYk5J(3ea427Y{hJ+*N0Inh70u&HX1zURsc}BKH_0Md#;F&JDN&F?S%O z2)F>R+hcp3_-`bAdhhAavnT!a^xMDRKmPuD`E`8p{L9Z*5BHxRzCV1(MIz}^J<^;* zE>zWsqu7R~oT^MF=7o6HMeC$#PZHEddQ-R(Pn6`&o@1Swk4d2l0f3cB~eBfT@_NRjU~dL@$(@K$+I zNgI;A*mY{u%X3FL=+x?m+XL6NXkBxyCU8b}3?FmkYMMk>u1mY_c_MSXePQwl> z)IPZy^q6vtdCnKy8xMiceIbYA*(DbY)G)LeE>y}>O3>;U~l&h#=_L5Tcba#yE1Lg+}#1K zSgf%fIrNnmFX)?^GCTH3xA-=@Zkp5AQKzRO*UFcSoO~aL*P!II21pWir{EnM6TKuR z#xJWtM=pv9RpLmm1GYpA6hf5Ql-xx#I!Kxel8TFIOzmiTl-FQBvU2DeZ0OE` zaAga+MYj_+$SCRdFw)0U5LaJLH8@QiYCD}{4sHwEIJ{5ISV2pe)9-QvaS?*82b|Hx KE!fmn8U6zc$bInu diff --git a/test/li.node b/test/li.node deleted file mode 100644 index ae67c6cc00adb5f7f2dc6fec3ccef1772e3c4153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1065 zcmYjQJ&w~*5MD&*Z8*XlAo4a`U`5}{{dnJ-30qNY!38MkX{fmaHCI3s z6o`Tg@IA*#){+(5c{B6<&EgR`Tpy8F<*c1)~+X?|NZ**_s7+z z{@LZn@6R9ZKRkSSc$14n(y4l+F^62Jsu4%A6%9F68BELz@u-v5LDQBbsP*)sa3vln z$(_ros0)&*xD~XU0uNHyDCI<&=$%)~J-y6H2C6dBzIB@alh&$n)jd}I=*0rEr(1xBM$)9A9k10O9mQPMN(S(zvl{}54a$gh3HG%Ipa@c( zN2U$zoxOvxFtzE{&>z)ZFs+WbX9u)`Si`pGFjJnqpl@o*Y}f}~<85?ZHK)&`4yPj5 z%BPGReDAw!pyad!ND{bH@EJBHdPz)-FN;8XE{X|NVo%orED-~R5M}h(c>wo8K?=ET z8Uw>gQDWb=gz{FQdnHGBj~z_ngs!uTb0p!BCgpBZkaUH42)dW1Gj?E9paV)Nc^1uR zCuuB5DmJEJYD+Umc?sqtE4x{P72P=?oUsL6quT*CkWte0uBW$$ATGWfYOtDE)V4bN i9NZ?hzI&aTv4WN`XWq*d#6<|!9