aboutsummaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/test-modem-helpers.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem-helpers.c
index d5b09abd..0e8674d2 100644
--- a/src/tests/test-modem-helpers.c
+++ b/src/tests/test-modem-helpers.c
@@ -19,6 +19,7 @@
#include <stdlib.h>
#include <math.h>
+#define _LIBMM_INSIDE_MM
#include <libmm-glib.h>
#include "mm-modem-helpers.h"
#include "mm-log.h"
@@ -3926,6 +3927,49 @@ test_csim_response (void)
}
/*****************************************************************************/
+/* +CLIP URC */
+
+typedef struct {
+ const gchar *str;
+ const gchar *number;
+ guint type;
+} ClipUrcTest;
+
+static const ClipUrcTest clip_urc_tests[] = {
+ { "\r\n+CLIP: \"123456789\",129\r\n", "123456789", 129 },
+ { "\r\n+CLIP: \"123456789\",129,,,,0\r\n", "123456789", 129 },
+};
+
+static void
+test_clip_indication (void)
+{
+ GRegex *r;
+ guint i;
+
+ r = mm_voice_clip_regex_get ();
+
+ for (i = 0; i < G_N_ELEMENTS (clip_urc_tests); i++) {
+ GMatchInfo *match_info = NULL;
+ gchar *number;
+ guint type;
+
+ g_assert (g_regex_match (r, clip_urc_tests[i].str, 0, &match_info));
+ g_assert (g_match_info_matches (match_info));
+
+ number = mm_get_string_unquoted_from_match_info (match_info, 1);
+ g_assert_cmpstr (number, ==, clip_urc_tests[i].number);
+
+ g_assert (mm_get_uint_from_match_info (match_info, 2, &type));
+ g_assert_cmpuint (type, ==, clip_urc_tests[i].type);
+
+ g_free (number);
+ g_match_info_free (match_info);
+ }
+
+ g_regex_unref (r);
+}
+
+/*****************************************************************************/
typedef struct {
gchar *str;
@@ -4236,6 +4280,8 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_cesq_response, NULL));
g_test_suite_add (suite, TESTCASE (test_cesq_response_to_signal, NULL));
+ g_test_suite_add (suite, TESTCASE (test_clip_indication, NULL));
+
g_test_suite_add (suite, TESTCASE (test_parse_uint_list, NULL));
g_test_suite_add (suite, TESTCASE (test_bcd_to_string, NULL));