diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2018-08-24 18:44:36 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2018-09-22 10:52:15 +0200 |
commit | 61b54ba924ead946471fe716668ec25790c215f8 (patch) | |
tree | 4550cbf336bfc4d101fcaa201f2593f8fed0499d | |
parent | cc8891ef67986f71e4a56cccec25d33da8352260 (diff) | |
download | ModemManager-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.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)); |