@@ -318,3 +318,75 @@ fn test_stringify_union_list() {
318318]"#
319319 ) ;
320320}
321+
322+ #[ test]
323+ fn test_stringify_prim_list ( ) {
324+ use capnp:: primitive_list;
325+ let mut message = message:: Builder :: new_default ( ) ;
326+ let mut root: primitive_list:: Builder < ' _ , u16 > = message. initn_root ( 3 ) ;
327+ root. set ( 0 , 5 ) ;
328+ root. set ( 1 , 6 ) ;
329+ root. set ( 2 , 7 ) ;
330+
331+ let stringified = format ! ( "{:?}" , root. into_reader( ) ) ;
332+ assert_eq ! ( stringified, "[5, 6, 7]" ) ;
333+ }
334+
335+ #[ test]
336+ fn test_stringify_enum_list ( ) {
337+ use crate :: test_capnp:: TestEnum ;
338+ use capnp:: enum_list;
339+ let mut message = message:: Builder :: new_default ( ) ;
340+ let mut root: enum_list:: Builder < ' _ , TestEnum > = message. initn_root ( 2 ) ;
341+ root. set ( 0 , TestEnum :: Bar ) ;
342+ root. set ( 1 , TestEnum :: Garply ) ;
343+
344+ let stringified = format ! ( "{:?}" , root. into_reader( ) ) ;
345+ assert_eq ! ( stringified, "[bar, garply]" ) ;
346+ }
347+
348+ #[ test]
349+ fn test_stringify_text_list ( ) {
350+ use capnp:: text_list;
351+ let mut message = message:: Builder :: new_default ( ) ;
352+ let mut root: text_list:: Builder < ' _ > = message. initn_root ( 4 ) ;
353+ root. set ( 0 , "abcd" . into ( ) ) ;
354+ root. set ( 1 , "efgh" . into ( ) ) ;
355+ root. set ( 2 , "ijkl" . into ( ) ) ;
356+ root. set ( 3 , "mnop" . into ( ) ) ;
357+
358+ let stringified = format ! ( "{:?}" , root. into_reader( ) ) ;
359+ assert_eq ! ( stringified, "[\" abcd\" , \" efgh\" , \" ijkl\" , \" mnop\" ]" ) ;
360+ }
361+
362+ #[ test]
363+ fn test_stringify_data_list ( ) {
364+ let mut message = message:: Builder :: new_default ( ) ;
365+ let mut root: capnp:: data_list:: Builder < ' _ > = message. initn_root ( 2 ) ;
366+ root. set ( 0 , & [ 11 , 12 ] ) ;
367+ root. set ( 1 , & [ 22 , 23 ] ) ;
368+
369+ let stringified = format ! ( "{:?}" , root. into_reader( ) ) ;
370+ assert_eq ! ( stringified, "[0x\" 0b0c\" , 0x\" 1617\" ]" ) ;
371+ }
372+
373+ #[ test]
374+ fn test_stringify_list_list ( ) {
375+ use capnp:: { list_list, primitive_list} ;
376+ let mut message = message:: Builder :: new_default ( ) ;
377+ let mut root: list_list:: Builder < ' _ , primitive_list:: Owned < i32 > > = message. initn_root ( 2 ) ;
378+ {
379+ let mut l0 = root. reborrow ( ) . init ( 0 , 3 ) ;
380+ l0. set ( 0 , 1111 ) ;
381+ l0. set ( 1 , 2222 ) ;
382+ l0. set ( 2 , 3333 ) ;
383+ }
384+
385+ {
386+ let mut l1 = root. reborrow ( ) . init ( 1 , 1 ) ;
387+ l1. set ( 0 , 123456 ) ;
388+ }
389+
390+ let stringified = format ! ( "{:?}" , root. into_reader( ) ) ;
391+ assert_eq ! ( stringified, "[[1111, 2222, 3333], [123456]]" ) ;
392+ }
0 commit comments