diff options
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/test-charsets.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/tests/test-charsets.c b/src/tests/test-charsets.c index c2e08591..4df104ed 100644 --- a/src/tests/test-charsets.c +++ b/src/tests/test-charsets.c @@ -23,25 +23,23 @@ static void common_test_gsm7 (const gchar *in_utf8) { - guint32 unpacked_gsm_len = 0; guint32 packed_gsm_len = 0; guint32 unpacked_gsm_len_2 = 0; - g_autofree guint8 *unpacked_gsm = NULL; + g_autoptr(GByteArray) unpacked_gsm = NULL; g_autofree guint8 *packed_gsm = NULL; g_autofree guint8 *unpacked_gsm_2 = NULL; g_autofree gchar *built_utf8 = NULL; g_autoptr(GError) error = NULL; /* Convert to GSM */ - unpacked_gsm = mm_charset_utf8_to_unpacked_gsm (in_utf8, FALSE, &unpacked_gsm_len, &error); + unpacked_gsm = mm_modem_charset_bytearray_from_utf8 (in_utf8, MM_MODEM_CHARSET_GSM, FALSE, &error); g_assert_nonnull (unpacked_gsm); g_assert_no_error (error); - g_assert_cmpuint (unpacked_gsm_len, >, 0); /* Pack */ - packed_gsm = mm_charset_gsm_pack (unpacked_gsm, unpacked_gsm_len, 0, &packed_gsm_len); + packed_gsm = mm_charset_gsm_pack (unpacked_gsm->data, unpacked_gsm->len, 0, &packed_gsm_len); g_assert_nonnull (packed_gsm); - g_assert_cmpuint (packed_gsm_len, <=, unpacked_gsm_len); + g_assert_cmpuint (packed_gsm_len, <=, unpacked_gsm->len); #if 0 { @@ -356,6 +354,10 @@ test_take_convert_ucs2_bad_ascii2 (void) static void test_take_convert_gsm_utf8 (void) { + /* NOTE: this is wrong, charset GSM may contain embedded NULs so we cannot convert + * from a plain UTF-8 string to a NUL-terminated string in GSM, as there is no + * such, thing. */ +#if 0 gchar *src, *converted, *utf8; src = g_strdup ("T-Mobile"); @@ -364,6 +366,7 @@ test_take_convert_gsm_utf8 (void) utf8 = mm_utf8_take_and_convert_to_charset (converted, MM_MODEM_CHARSET_GSM); g_assert_cmpstr (utf8, ==, "T-Mobile"); g_free (utf8); +#endif } struct charset_can_convert_to_test_s { |