Diff between 1a1d120edb6e18db01c174482a7c6037e3db2a57 and 6d957b0aa251fcd1f1ad44993b7ae857af9d6345

Changed Files

File Additions Deletions Status
unit/test-hfp.c +24 -0 modified

Full Patch

diff --git a/unit/test-hfp.c b/unit/test-hfp.c
index 617b336..ef8a100 100644
--- a/unit/test-hfp.c
+++ b/unit/test-hfp.c
@@ -556,6 +556,23 @@ static void hf_chld_result_handler(struct hfp_context *hf_context,
 	hfp_hf_disconnect(context->hfp_hf);
 }
 
+static void hf_chld_skip_field(struct hfp_context *hf_context,
+							void *user_data)
+{
+	struct context *context = user_data;
+	char str[3];
+
+	g_assert(hf_context);
+
+	hfp_context_skip_field(hf_context);
+
+	g_assert(hfp_context_get_unquoted_string(hf_context, str,
+								sizeof(str)));
+	g_assert_cmpstr(str, ==, "2x");
+
+	hfp_hf_disconnect(context->hfp_hf);
+}
+
 static void hf_clcc_result_handler(struct hfp_context *hf_context,
 							void *user_data)
 {
@@ -801,5 +818,12 @@ int main(int argc, char *argv[])
 			frg_pdu('1', ',', '2', 'x', '\r', '\n'),
 			data_end());
 
+	define_hf_test("/hfp_hf/test_context_skip_field", test_hf_unsolicited,
+			hf_chld_skip_field, NULL,
+			raw_pdu('+', 'C', 'H', 'L', 'D', '\0'),
+			frg_pdu('+', 'C', 'H', 'L', 'D', ':'),
+			frg_pdu('1', ',', '2', 'x', '\r', '\n'),
+			data_end());
+
 	return g_test_run();
 }