Showing the changes to git-object/tests/immutable/commit (1 of 2 files). Show all
Unified · Split
| @@ -5,6 +5,7 @@ use crate::immutable::{ · 4 unmodified lines | ||
| 5 | 5 | commit::{LONG_MESSAGE, MERGE_TAG, SIGNATURE}, |
| 6 | 6 | fixture_bytes, linus_signature, signature, |
| 7 | 7 | }; |
| 8 | +use git_actor::{Sign, SignatureRef, Time}; | |
| 8 | 9 | |
| 9 | 10 | #[test] |
| 10 | 11 | fn unsigned() -> crate::Result { |
| @@ -132,6 +133,61 @@ fn with_encoding() -> crate::Result { · 121 unmodified lines | ||
| 132 | 133 | Ok(()) |
| 133 | 134 | } |
| 134 | 135 | |
| 136 | +#[test] | |
| 137 | +fn with_footer() -> crate::Result { | |
| 138 | + let kim = SignatureRef { | |
| 139 | + name: "Kim Altintop".into(), | |
| 140 | + email: "kim@eagain.st".into(), | |
| 141 | + time: Time { | |
| 142 | + time: 1631514803, | |
| 143 | + offset: 7200, | |
| 144 | + sign: Sign::Plus, | |
| 145 | + }, | |
| 146 | + }; | |
| 147 | + let backing = fixture_bytes("commit", "message-with-footer.txt"); | |
| 148 | + let commit = CommitRef::from_bytes(&backing)?; | |
| 149 | + assert_eq!( | |
| 150 | + commit, | |
| 151 | + CommitRef { | |
| 152 | + tree: b"25a19c29c5e36884c1ad85d8faf23f1246b7961b".as_bstr(), | |
| 153 | + parents: SmallVec::from(vec![b"699ae71105dddfcbb9711ed3a92df09e91a04e90".as_bstr()]), | |
| 154 | + author: kim.clone(), | |
| 155 | + committer: kim, | |
| 156 | + encoding: None, | |
| 157 | + message: b"test: use gitoxide for link-git-protocol tests | |
| 158 | + | |
| 159 | +Showcases the abilities of the `git-repository` crate, and standardises | |
| 160 | +on using the re-exports through this crate for [stability] reasons | |
| 161 | +instead of depending directly on the lower-level crates. | |
| 162 | + | |
| 163 | +[stability]: https://github.com/Byron/gitoxide/blob/main/STABILITY.md | |
| 164 | + | |
| 165 | +Signed-off-by: Sebastian Thiel <sebastian.thiel@icloud.com> | |
| 166 | +Signed-off-by: Kim Altintop <kim@eagain.st>" | |
| 167 | + .as_bstr(), | |
| 168 | + extra_headers: vec![(b"gpgsig".as_bstr(), b"-----BEGIN PGP SIGNATURE-----\n\niHUEABYIAB0WIQSuZwcGWSQItmusNgR5URpSUCnwXQUCYT7xpAAKCRB5URpSUCnw\nXWB3AP9q323HlxnI8MyqszNOeYDwa7Y3yEZaUM2y/IRjz+z4YQEAq0yr1Syt3mrK\nOSFCqL2vDm3uStP+vF31f6FnzayhNg0=\n=Mhpp\n-----END PGP SIGNATURE-----".as_bstr().into())] | |
| 169 | + } | |
| 170 | + ); | |
| 171 | + let message = commit.message(); | |
| 172 | + assert_eq!(message.title, "test: use gitoxide for link-git-protocol tests"); | |
| 173 | + assert_eq!( | |
| 174 | + message.body, | |
| 175 | + Some( | |
| 176 | + "Showcases the abilities of the `git-repository` crate, and standardises | |
| 177 | +on using the re-exports through this crate for [stability] reasons | |
| 178 | +instead of depending directly on the lower-level crates. | |
| 179 | + | |
| 180 | +[stability]: https://github.com/Byron/gitoxide/blob/main/STABILITY.md | |
| 181 | + | |
| 182 | +Signed-off-by: Sebastian Thiel <sebastian.thiel@icloud.com> | |
| 183 | +Signed-off-by: Kim Altintop <kim@eagain.st>" | |
| 184 | + .into() | |
| 185 | + ) | |
| 186 | + ); | |
| 187 | + // let body = message.body(); | |
| 188 | + Ok(()) | |
| 189 | +} | |
| 190 | + | |
| 135 | 191 | #[test] |
| 136 | 192 | fn merge() -> crate::Result { |
| 137 | 193 | assert_eq!( |