summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2018-08-24 18:44:36 +0200
committerAleksander Morgado <aleksander@aleksander.es>2018-09-22 10:52:15 +0200
commit61b54ba924ead946471fe716668ec25790c215f8 (patch)
tree4550cbf336bfc4d101fcaa201f2593f8fed0499d
parentcc8891ef67986f71e4a56cccec25d33da8352260 (diff)
downloadModemManager-61b54ba924ead946471fe716668ec25790c215f8.tar.gz
helpers,tests: update ICCID related unit tests
Fix the test for invalid characters, because now I allow hex chars in the account number. And add new tests with real China Mobile ICCIDs that contain hex chars in the account number. (cherry picked from commit 32aa8333c62296c7c9c918b161e35355821e7615)
-rw-r--r--src/tests/test-modem-helpers.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem-helpers.c
index 839240512..88f5a060b 100644
--- a/src/tests/test-modem-helpers.c
+++ b/src/tests/test-modem-helpers.c
@@ -2119,6 +2119,34 @@ test_iccid_parse_quoted_unswapped_20_digit (void *f, gpointer d)
}
static void
+test_iccid_parse_quoted_unswapped_hex_account (void *f, gpointer d)
+{
+ const char *raw_iccid = "\"898602F9091830030220\"";
+ const char *expected = "898602F9091830030220";
+ char *parsed;
+ GError *error = NULL;
+
+ parsed = mm_3gpp_parse_iccid (raw_iccid, &error);
+ g_assert_no_error (error);
+ g_assert_cmpstr (parsed, ==, expected);
+ g_free (parsed);
+}
+
+static void
+test_iccid_parse_quoted_unswapped_hex_account_2 (void *f, gpointer d)
+{
+ const char *raw_iccid = "\"898602C0123456789012\"";
+ const char *expected = "898602C0123456789012";
+ char *parsed;
+ GError *error = NULL;
+
+ parsed = mm_3gpp_parse_iccid (raw_iccid, &error);
+ g_assert_no_error (error);
+ g_assert_cmpstr (parsed, ==, expected);
+ g_free (parsed);
+}
+
+static void
test_iccid_parse_short (void *f, gpointer d)
{
const char *raw_iccid = "982314203264096";
@@ -2134,7 +2162,7 @@ test_iccid_parse_short (void *f, gpointer d)
static void
test_iccid_parse_invalid_chars (void *f, gpointer d)
{
- const char *raw_iccid = "98231420326ab9614067";
+ const char *raw_iccid = "98231420326pl9614067";
char *parsed;
GError *error = NULL;
@@ -3940,6 +3968,8 @@ int main (int argc, char **argv)
g_test_suite_add (suite, TESTCASE (test_iccid_parse_unquoted_unswapped_19_digit, NULL));
g_test_suite_add (suite, TESTCASE (test_iccid_parse_unquoted_unswapped_19_digit_no_f, NULL));
g_test_suite_add (suite, TESTCASE (test_iccid_parse_quoted_unswapped_20_digit, NULL));
+ g_test_suite_add (suite, TESTCASE (test_iccid_parse_quoted_unswapped_hex_account, NULL));
+ g_test_suite_add (suite, TESTCASE (test_iccid_parse_quoted_unswapped_hex_account_2, NULL));
g_test_suite_add (suite, TESTCASE (test_iccid_parse_short, NULL));
g_test_suite_add (suite, TESTCASE (test_iccid_parse_invalid_chars, NULL));
g_test_suite_add (suite, TESTCASE (test_iccid_parse_quoted_invalid_mii, NULL));