Open lundmark opened 8 years ago
I just copied this directly into a unittest and it seams to work? ( Something that actually surprised me ). Anything I might have missed?
Test added:
TEST_F( DLText, subdefaults )
{
const char* text_data = STRINGIFY( { "type" : "subdefaults2", "data" : {} } );
unsigned char out_data_txt[1024];
EXPECT_DL_ERR_OK(dl_txt_pack(Ctx, text_data, out_data_txt, sizeof( out_data_txt ), 0x0));
subdefaults2 loaded[10];
// load binary
EXPECT_DL_ERR_OK(dl_instance_load(Ctx, subdefaults2::TYPE_ID, loaded, sizeof(loaded), out_data_txt, sizeof(out_data_txt), 0x0));
EXPECT_EQ( 1337, loaded[0].member1.submember2 );
EXPECT_EQ( 1, loaded[0].member1.submember1.count );
EXPECT_STREQ( "apa", loaded[0].member1.submember1[0] );
}
Setting the array-member seams to crash.
Example:
Fails on two parts: 1 The default for member1 in mytype_2 tries to apply a default-value that is the size of the entire member.
2 Defaults for the type mytype_1 is never applied to member1 in mytype_2