use std::path::PathBuf; mod encode; mod immutable; type Result = std::result::Result>; #[cfg(not(windows))] fn fixup(v: Vec) -> Vec { v } #[cfg(windows)] fn fixup(v: Vec) -> Vec { // Git checks out text files with line ending conversions, git itself will of course not put '\r\n' anywhere, // so that wouldn't be expected in an object and doesn't have to be parsed. use bstr::ByteSlice; v.replace(b"\r\n", "\n") } pub use git_testtools::hex_to_id; pub fn fixture(path: &str) -> PathBuf { PathBuf::from("tests/fixtures").join(path) } fn fixture_bytes(path: &str) -> Vec { fixup(std::fs::read(fixture(path)).unwrap()) } #[test] fn size_in_memory() { assert_eq!( std::mem::size_of::(), 264, "Prevent unexpected growth of what should be lightweight objects" ) }