From d5255894307fa63a7f14d5518007c45787221d2b Mon Sep 17 00:00:00 2001 From: Juri Glass Date: Thu, 18 Aug 2011 15:01:00 +0200 Subject: [PATCH] added sml_time to sml_tree_write --- sml/src/sml_tree.c | 13 +++++-------- test/src/sml_tree_test.c | 13 +++++++++++++ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/sml/src/sml_tree.c b/sml/src/sml_tree.c index 2691df2..dac9eee 100644 --- a/sml/src/sml_tree.c +++ b/sml/src/sml_tree.c @@ -164,14 +164,11 @@ void sml_proc_par_value_write(sml_proc_par_value *value, sml_buffer *buf) { printf("TODO: %s\n", __FUNCTION__); break; case SML_PROC_PAR_VALUE_TAG_TIME: - printf("TODO: %s\n", __FUNCTION__); - break; - default: - if (value) { - free(value); - } - buf->error = 1; - } + sml_time_write(value->data.time, buf); + break; + default: + printf("error: unknown tag in %s\n", __FUNCTION__); + } } diff --git a/test/src/sml_tree_test.c b/test/src/sml_tree_test.c index 3096e21..0418d22 100644 --- a/test/src/sml_tree_test.c +++ b/test/src/sml_tree_test.c @@ -64,10 +64,23 @@ TEST(sml_proc_par_value, parse_time) { sml_proc_par_value *t = sml_proc_par_value_parse(buf); TEST_ASSERT_NOT_NULL(t); TEST_ASSERT_EQUAL(SML_PROC_PAR_VALUE_TAG_TIME, *(t->tag)); + TEST_ASSERT_EQUAL(11, buf->cursor); +} + +TEST(sml_proc_par_value, write_time) { + sml_proc_par_value *ppv = sml_proc_par_value_init(); + ppv->tag = sml_u8_init(SML_PROC_PAR_VALUE_TAG_TIME); + sml_time *t = sml_time_init(); + t->data.sec_index = sml_u32_init(255); + t->tag = sml_u8_init(SML_TIME_SEC_INDEX); + ppv->data.time = t; + sml_proc_par_value_write(ppv, buf); + expected_buf(buf, "72620472620165000000FF", 11); } TEST_GROUP_RUNNER(sml_proc_par_value) { RUN_TEST_CASE(sml_proc_par_value, init); RUN_TEST_CASE(sml_proc_par_value, parse_time); + RUN_TEST_CASE(sml_proc_par_value, write_time); }