diff options
Diffstat (limited to 'plugins/altair/tests/test-modem-helpers-altair-lte.c')
-rw-r--r-- | plugins/altair/tests/test-modem-helpers-altair-lte.c | 38 |
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 (); } |