diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2018-08-24 18:44:36 +0200 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2018-09-12 17:17:36 +0000 |
commit | 32aa8333c62296c7c9c918b161e35355821e7615 (patch) | |
tree | 3f43b89389d83798544a523fc47f57b5fbe4a17b | |
parent | 099d54a4bcaf7d71ccda1d42424d5b73ec286911 (diff) | |
download | ModemManager-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.c | 32 |
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)); |