diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-11-20 00:36:04 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-11-20 00:40:39 +0100 |
commit | 3be07bb38db2f1295d5ef240232ac046a579808b (patch) | |
tree | 745946e34f6a24cbd70dcf057bd6657c88642447 /src/tests | |
parent | 7ac42e76482acd687464f9dca2ef3ac7b67825a1 (diff) |
tests,cdma: test CDMA SMS with different text lengths
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/test-sms-part-cdma.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/tests/test-sms-part-cdma.c b/src/tests/test-sms-part-cdma.c index af01b5f5..df6e982c 100644 --- a/src/tests/test-sms-part-cdma.c +++ b/src/tests/test-sms-part-cdma.c @@ -500,6 +500,42 @@ test_create_pdu_text_unicode_encoding (void) expected, sizeof (expected)); } +static void +test_create_parse_pdu_text_ascii_encoding (void) +{ +#define MAX_TEXT_LEN 100 + guint i; + gchar text[MAX_TEXT_LEN + 1]; + + memset (text, 0, sizeof (text)); + + for (i = 0; i < MAX_TEXT_LEN; i++) { + MMSmsPart *part; + guint8 *pdu; + guint len = 0; + GError *error = NULL; + + text[i]='A'; + + part = mm_sms_part_new (0, MM_SMS_PDU_TYPE_CDMA_SUBMIT); + mm_sms_part_set_cdma_teleservice_id (part, MM_SMS_CDMA_TELESERVICE_ID_WMT); + mm_sms_part_set_number (part, "123456789"); + mm_sms_part_set_text (part, text); + pdu = mm_sms_part_cdma_get_submit_pdu (part, &len, NULL, &error); + g_assert_no_error (error); + g_assert (pdu != NULL); + mm_sms_part_free (part); + + part = mm_sms_part_cdma_new_from_binary_pdu (0, pdu, len, NULL, &error); + g_assert_no_error (error); + g_assert (part != NULL); + g_assert_cmpuint (MM_SMS_CDMA_TELESERVICE_ID_WMT, ==, mm_sms_part_get_cdma_teleservice_id (part)); + g_assert_cmpstr ("123456789", ==, mm_sms_part_get_number (part)); + g_assert_cmpstr (text, ==, mm_sms_part_get_text (part)); + mm_sms_part_free (part); + } +} + /************************************************************/ int main (int argc, char **argv) @@ -520,5 +556,7 @@ int main (int argc, char **argv) g_test_add_func ("/MM/SMS/CDMA/PDU-Creator/latin-encoding", test_create_pdu_text_latin_encoding); g_test_add_func ("/MM/SMS/CDMA/PDU-Creator/unicode-encoding", test_create_pdu_text_unicode_encoding); + g_test_add_func ("/MM/SMS/CDMA/PDU-Creator-Parser/ascii-encoding", test_create_parse_pdu_text_ascii_encoding); + return g_test_run (); } |