fixed an boolean_parse bug (optional)
This commit is contained in:
parent
c05eff388c
commit
1cb0a1e9bc
3 changed files with 11 additions and 1 deletions
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue