Skip to content

Commit 286e0ac

Browse files
committed
add coverage for bugfix in previous commit
1 parent f33a1af commit 286e0ac

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

capnpc/test/test_util.rs

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,17 @@ pub fn dynamic_init_test_message(mut builder: ::capnp::dynamic_struct::Builder<'
384384
text_list.set(2, "thud".into()).unwrap();
385385
}
386386

387+
{
388+
let mut data_list: capnp::dynamic_list::Builder<'_> = builder
389+
.reborrow()
390+
.initn_named("dataList", 3)
391+
.unwrap()
392+
.downcast();
393+
data_list.set(0, b"oops"[..].into()).unwrap();
394+
data_list.set(1, b"exhausted"[..].into()).unwrap();
395+
data_list.set(2, b"rfc3092"[..].into()).unwrap();
396+
}
397+
387398
{
388399
let mut struct_list: capnp::dynamic_list::Builder<'_> = builder
389400
.reborrow()
@@ -538,6 +549,33 @@ pub fn dynamic_check_test_message(reader: capnp::dynamic_struct::Reader<'_>) {
538549
);
539550
}
540551

552+
{
553+
let data_list: capnp::dynamic_list::Reader<'_> =
554+
reader.get_named("dataList").unwrap().downcast();
555+
assert_eq!(3, data_list.len());
556+
assert_eq!(
557+
b"oops",
558+
data_list
559+
.get(0)
560+
.unwrap()
561+
.downcast::<capnp::data::Reader<'_>>()
562+
);
563+
assert_eq!(
564+
b"exhausted",
565+
data_list
566+
.get(1)
567+
.unwrap()
568+
.downcast::<capnp::data::Reader<'_>>()
569+
);
570+
assert_eq!(
571+
b"rfc3092",
572+
data_list
573+
.get(2)
574+
.unwrap()
575+
.downcast::<capnp::data::Reader<'_>>()
576+
);
577+
}
578+
541579
{
542580
let struct_list: capnp::dynamic_list::Reader<'_> =
543581
reader.get_named("structList").unwrap().downcast();
@@ -789,6 +827,38 @@ pub fn dynamic_check_test_message_builder(mut builder: capnp::dynamic_struct::Bu
789827
.downcast::<capnp::text::Reader<'_>>()
790828
);
791829
}
830+
{
831+
let mut data_list: capnp::dynamic_list::Builder<'_> =
832+
builder.reborrow().get_named("dataList").unwrap().downcast();
833+
assert_eq!(3, data_list.len());
834+
assert_eq!(
835+
b"oops",
836+
data_list
837+
.reborrow()
838+
.get(0)
839+
.unwrap()
840+
.into_reader()
841+
.downcast::<capnp::data::Reader<'_>>()
842+
);
843+
assert_eq!(
844+
b"exhausted",
845+
data_list
846+
.reborrow()
847+
.get(1)
848+
.unwrap()
849+
.into_reader()
850+
.downcast::<capnp::data::Reader<'_>>()
851+
);
852+
assert_eq!(
853+
b"rfc3092",
854+
data_list
855+
.reborrow()
856+
.get(2)
857+
.unwrap()
858+
.into_reader()
859+
.downcast::<capnp::data::Reader<'_>>()
860+
);
861+
}
792862
{
793863
let mut struct_list: capnp::dynamic_list::Builder<'_> = builder
794864
.reborrow()

0 commit comments

Comments
 (0)