aboutsummaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2020-11-20 00:36:04 +0100
committerAleksander Morgado <aleksander@aleksander.es>2020-11-20 00:40:39 +0100
commit3be07bb38db2f1295d5ef240232ac046a579808b (patch)
tree745946e34f6a24cbd70dcf057bd6657c88642447 /src/tests
parent7ac42e76482acd687464f9dca2ef3ac7b67825a1 (diff)
tests,cdma: test CDMA SMS with different text lengths
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/test-sms-part-cdma.c38
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 ();
}