Fine tune serde.

This commit is contained in:
Stephen Chung
2022-11-22 15:38:16 +08:00
parent be040287dc
commit b2e4efd872
4 changed files with 29 additions and 7 deletions

View File

@@ -809,10 +809,31 @@ fn test_serde_blob() -> Result<(), Box<EvalAltResult>> {
",
)?;
let json = serde_json::to_string(&r).unwrap();
assert_eq!(json, "[0,1,2,3,4,5,6,7,8,9]");
let r = from_dynamic::<serde_bytes::ByteBuf>(&r)?;
assert_eq!(r.to_vec(), vec![0_u8, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
#[cfg(not(feature = "no_object"))]
{
let r = engine.eval::<Dynamic>(
"
let x = blob(10);
for i in 0..10 { x[i] = i; }
#{ x: x }
",
)?;
let data = format!("{r:?}");
let encoded = rmp_serde::to_vec(&r).unwrap();
let decoded: Dynamic = rmp_serde::from_slice(&encoded).unwrap();
assert_eq!(format!("{decoded:?}"), data);
}
Ok(())
}