Fix Blockstreamer test

This commit is contained in:
Greg Fitzgerald 2019-03-28 21:01:40 -06:00
parent c4bc710d3a
commit 3759b0d2a5
1 changed files with 13 additions and 2 deletions

View File

@ -17,7 +17,9 @@ impl Serialize for ShortUsize {
where where
S: Serializer, S: Serializer,
{ {
let mut seq = serializer.serialize_tuple(0)?; // Pass a non-zero value to serialize_tuple() so that serde_json will
// generate an open bracket.
let mut seq = serializer.serialize_tuple(1)?;
let mut rem_len = self.0; let mut rem_len = self.0;
loop { loop {
@ -89,7 +91,9 @@ pub fn serialize<S: Serializer, T: Serialize>(
elements: &[T], elements: &[T],
serializer: S, serializer: S,
) -> Result<S::Ok, S::Error> { ) -> Result<S::Ok, S::Error> {
let mut seq = serializer.serialize_tuple(0)?; // Pass a non-zero value to serialize_tuple() so that serde_json will
// generate an open bracket.
let mut seq = serializer.serialize_tuple(1)?;
let short_len = ShortUsize(elements.len()); let short_len = ShortUsize(elements.len());
seq.serialize_element(&short_len)?; seq.serialize_element(&short_len)?;
@ -221,4 +225,11 @@ mod tests {
let vec1: ShortVec<u8> = deserialize(&bytes).unwrap(); let vec1: ShortVec<u8> = deserialize(&bytes).unwrap();
assert_eq!(vec.0, vec1.0); assert_eq!(vec.0, vec1.0);
} }
#[test]
fn test_short_vec_json() {
let vec = ShortVec(vec![0u8]);
let s = serde_json::to_string(&vec).unwrap();
assert_eq!(s, "[[1],0]");
}
} }