MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / roundtrip_map

Function roundtrip_map

nodedb-query/src/msgpack_scan/writer.rs:293–315  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

291
292 #[test]
293 fn roundtrip_map() {
294 let mut buf = Vec::new();
295 write_map_header(&mut buf, 2);
296 write_kv_str(&mut buf, "name", "alice");
297 write_kv_i64(&mut buf, "age", 30);
298
299 // Verify it's valid msgpack by reading back via reader
300 let (count, mut pos) = crate::msgpack_scan::reader::map_header(&buf, 0).unwrap();
301 assert_eq!(count, 2);
302
303 let k1 = crate::msgpack_scan::reader::read_str(&buf, pos).unwrap();
304 assert_eq!(k1, "name");
305 pos = crate::msgpack_scan::reader::skip_value(&buf, pos).unwrap();
306 let v1 = crate::msgpack_scan::reader::read_str(&buf, pos).unwrap();
307 assert_eq!(v1, "alice");
308 pos = crate::msgpack_scan::reader::skip_value(&buf, pos).unwrap();
309
310 let k2 = crate::msgpack_scan::reader::read_str(&buf, pos).unwrap();
311 assert_eq!(k2, "age");
312 pos = crate::msgpack_scan::reader::skip_value(&buf, pos).unwrap();
313 let v2 = crate::msgpack_scan::reader::read_i64(&buf, pos).unwrap();
314 assert_eq!(v2, 30);
315 }
316
317 #[test]
318 fn write_kv_raw_splices_correctly() {

Callers

nothing calls this directly

Calls 7

write_kv_strFunction · 0.85
write_kv_i64Function · 0.85
map_headerFunction · 0.85
skip_valueFunction · 0.85
read_i64Function · 0.85
write_map_headerFunction · 0.70
read_strFunction · 0.70

Tested by

no test coverage detected