@@ -53,12 +53,40 @@ static void test_null(void **state) {
53
53
assert_null (float_ctrl );
54
54
}
55
55
56
+ unsigned char undef_data [] = { 0xF7 };
57
+ static void test_undef (void * * state ) {
58
+ float_ctrl = cbor_load (undef_data , 1 , CBOR_FLAGS_NONE , & res );
59
+ assert_true (cbor_isa_float_ctrl (float_ctrl ));
60
+ assert_true (cbor_is_undef (float_ctrl ));
61
+ cbor_decref (& float_ctrl );
62
+ assert_null (float_ctrl );
63
+ }
64
+
65
+ unsigned char bool_data [] = { 0xF4 , 0xF5 };
66
+ static void test_bool (void * * state ) {
67
+ float_ctrl = cbor_load (bool_data , 1 , CBOR_FLAGS_NONE , & res );
68
+ assert_true (cbor_isa_float_ctrl (float_ctrl ));
69
+ assert_true (cbor_is_bool (float_ctrl ));
70
+ assert_false (cbor_ctrl_bool (float_ctrl ));
71
+ cbor_decref (& float_ctrl );
72
+ assert_null (float_ctrl );
73
+
74
+ float_ctrl = cbor_load (bool_data + 1 , 1 , CBOR_FLAGS_NONE , & res );
75
+ assert_true (cbor_isa_float_ctrl (float_ctrl ));
76
+ assert_true (cbor_is_bool (float_ctrl ));
77
+ assert_true (cbor_ctrl_bool (float_ctrl ));
78
+ cbor_decref (& float_ctrl );
79
+ assert_null (float_ctrl );
80
+ }
81
+
56
82
int main (void ) {
57
83
const UnitTest tests [] = {
58
84
unit_test (test_float2 ),
59
85
unit_test (test_float4 ),
60
86
unit_test (test_float8 ),
61
- unit_test (test_null )
87
+ unit_test (test_null ),
88
+ unit_test (test_undef ),
89
+ unit_test (test_bool )
62
90
};
63
91
return run_tests (tests );
64
92
}
0 commit comments