aboutsummaryrefslogtreecommitdiff
path: root/plugins/altair/tests/test-modem-helpers-altair-lte.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/altair/tests/test-modem-helpers-altair-lte.c')
-rw-r--r--plugins/altair/tests/test-modem-helpers-altair-lte.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/plugins/altair/tests/test-modem-helpers-altair-lte.c b/plugins/altair/tests/test-modem-helpers-altair-lte.c
index 665b928f..50f2b205 100644
--- a/plugins/altair/tests/test-modem-helpers-altair-lte.c
+++ b/plugins/altair/tests/test-modem-helpers-altair-lte.c
@@ -62,6 +62,42 @@ test_ceer (void)
}
}
+static void
+test_parse_cid (void)
+{
+ g_assert (altair_parse_cid ("%CGINFO: 2", NULL) == 2);
+ g_assert (altair_parse_cid ("%CGINFO:blah", NULL) == -1);
+}
+
+static void
+test_parse_vendor_pco_info (void)
+{
+ guint pco_value;
+
+ /* Valid PCO values */
+ pco_value = altair_parse_vendor_pco_info ("%PCOINFO: 1,3,FF00,13018400", 3, NULL);
+ g_assert (pco_value == 0);
+ pco_value = altair_parse_vendor_pco_info ("%PCOINFO: 1,3,FF00,13018403", 3, NULL);
+ g_assert (pco_value == 3);
+ pco_value = altair_parse_vendor_pco_info ("%PCOINFO: 1,3,FF00,13018405", 3, NULL);
+ g_assert (pco_value == 5);
+ /* Different container */
+ pco_value = altair_parse_vendor_pco_info ("%PCOINFO: 1,3,F000,13018401", 3, NULL);
+ g_assert (pco_value == -1);
+ /* Different CID */
+ pco_value = altair_parse_vendor_pco_info ("%PCOINFO: 1,3,FF00,13018401", 1, NULL);
+ g_assert (pco_value == -1);
+ /* Different payload */
+ pco_value = altair_parse_vendor_pco_info ("%PCOINFO: 1,3,FF00,13018501", 1, NULL);
+ g_assert (pco_value == -1);
+ /* Bad PCO info */
+ pco_value = altair_parse_vendor_pco_info ("%PCOINFO: blah,blah,FF00,13018401", 1, NULL);
+ g_assert (pco_value == -1);
+ /* Multiline PCO info */
+ pco_value = altair_parse_vendor_pco_info ("%PCOINFO: 1,1,FF00,13018400\r\n%PCOINFO: 1,3,FF00,13018403", 3, NULL);
+ g_assert (pco_value == 3);
+}
+
int main (int argc, char **argv)
{
setlocale (LC_ALL, "");
@@ -70,6 +106,8 @@ int main (int argc, char **argv)
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/MM/altair/ceer", test_ceer);
+ g_test_add_func ("/MM/altair/parse_cid", test_parse_cid);
+ g_test_add_func ("/MM/altair/parse_vendor_pco_info", test_parse_vendor_pco_info);
return g_test_run ();
}