diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2019-09-02 13:55:59 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2019-09-02 15:38:57 +0200 |
commit | fe65f0052adbb3ebee7f20edbc83ec4396d46b53 (patch) | |
tree | 60992babc1cb61a69592f1085617b247bc85394d | |
parent | f6303413c2629463c40ed1c928cf7c092ee12fdc (diff) |
openpgp: Add padding roundtrip test.
-rw-r--r-- | openpgp/src/serialize/padding.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/openpgp/src/serialize/padding.rs b/openpgp/src/serialize/padding.rs index 08480854..b9928b69 100644 --- a/openpgp/src/serialize/padding.rs +++ b/openpgp/src/serialize/padding.rs @@ -309,4 +309,30 @@ mod test { true } } + + /// Asserts that we can consume the padded messages. + #[test] + fn roundtrip() { + use std::io::Write; + use crate::constants::DataFormat; + use crate::parse::Parse; + use crate::serialize::stream::*; + + let mut msg = vec![0; rand::random::<usize>() % 1024]; + crate::crypto::random(&mut msg); + + let mut padded = vec![]; + { + let message = Message::new(&mut padded); + let padder = Padder::new(message, padme).unwrap(); + let mut w = + LiteralWriter::new(padder, DataFormat::Binary, None, None) + .unwrap(); + w.write_all(&msg).unwrap(); + w.finalize().unwrap(); + } + + let m = crate::Message::from_bytes(&padded).unwrap(); + assert_eq!(m.body().unwrap().body().unwrap(), &msg[..]); + } } |