summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2018-08-24 18:44:36 +0200
committerDan Williams <dcbw@redhat.com>2018-09-12 17:17:36 +0000
commit32aa8333c62296c7c9c918b161e35355821e7615 (patch)
tree3f43b89389d83798544a523fc47f57b5fbe4a17b
parent099d54a4bcaf7d71ccda1d42424d5b73ec286911 (diff)
downloadModemManager-32aa8333c62296c7c9c918b161e35355821e7615.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.
-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));