fixed an boolean_parse bug (optional)

This commit is contained in:
Juri Glass 2011-07-19 20:11:29 +02:00
parent c05eff388c
commit 1cb0a1e9bc
3 changed files with 11 additions and 1 deletions

View file

@ -27,6 +27,9 @@ sml_boolean *sml_boolean_init(u8 b) {
}
sml_boolean *sml_boolean_parse(sml_buffer *buf) {
if (sml_buf_optional_is_skipped(buf)) {
return 0;
}
int l;
if (sml_buf_get_next_type(buf) != SML_TYPE_BOOLEAN) {

View file

@ -57,6 +57,7 @@ TEST(sml_boolean, parse_optional) {
hex2binary("01", sml_buf_get_current_buf(buf));
sml_boolean *b = sml_boolean_parse(buf);
TEST_ASSERT_NULL(b);
TEST_ASSERT_FALSE(sml_buf_has_errors(buf));
}
TEST(sml_boolean, write_true) {

View file

@ -78,7 +78,12 @@ TEST(sml_octet_string, cmp) {
octet_string *s3 = sml_octet_string_init((unsigned char *)"Hallo", 5);
TEST_ASSERT_TRUE(sml_octet_string_cmp(s1, s2) != 0);
TEST_ASSERT_TRUE(sml_octet_string_cmp(s1, s3) == 0);
TEST_ASSERT_EQUAL(0, sml_octet_string_cmp(s1, s3));
}
TEST(sml_octet_string, cmp_with_hex) {
octet_string *s = sml_octet_string_init((unsigned char *)"Hallo", 5);
TEST_ASSERT_EQUAL(0, sml_octet_string_cmp_with_hex(s, "48616C6C6F"));
}
TEST_GROUP_RUNNER(sml_octet_string) {
@ -89,6 +94,7 @@ TEST_GROUP_RUNNER(sml_octet_string) {
RUN_TEST_CASE(sml_octet_string, write);
RUN_TEST_CASE(sml_octet_string, write_optional);
RUN_TEST_CASE(sml_octet_string, cmp);
RUN_TEST_CASE(sml_octet_string, cmp_with_hex);
}