Skip to content

Commit e3ccf72

Browse files
committed
Add serde tests using postcard
1 parent 91c902c commit e3ccf72

4 files changed

Lines changed: 74 additions & 0 deletions

File tree

.clippy.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
allow-unwrap-in-consts = true
2+
allow-unwrap-in-tests = true

Cargo.lock

Lines changed: 55 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ subtle = { version = "2", optional = true, default-features = false, features =
2828
zeroize = { version = "1.8", optional = true, default-features = false }
2929
zerocopy = { version = "0.8", optional = true, features = ["derive"] }
3030

31+
[dev-dependencies]
32+
postcard = { version = "1", default-features = false, features = ["alloc"] }
33+
3134
[features]
3235
alloc = []
3336
extra-sizes = []

src/serde.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,17 @@ where
6969
seq.end()
7070
}
7171
}
72+
73+
#[cfg(test)]
74+
mod tests {
75+
use crate::{Array, sizes::U3};
76+
type A = Array<u8, U3>;
77+
78+
#[test]
79+
fn round_trip() {
80+
let example: A = Array([1, 2, 3]);
81+
let bytes = postcard::to_allocvec(&example).unwrap();
82+
let deserialized: A = postcard::from_bytes(&bytes).unwrap();
83+
assert_eq!(example, deserialized);
84+
}
85+
}

0 commit comments

Comments
 (0)