tests,cdma: test CDMA SMS with different text lengths
This commit is contained in:
@@ -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 ();
|
||||
}
|
||||
|
Reference in New Issue
Block a user