summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Matyukevich <geomatsi@gmail.com>2021-01-16 22:21:07 +0300
committerDenis Kenzior <denkenz@gmail.com>2021-01-19 10:05:05 -0600
commitcfcb6a7d9c44d55d09a64c16695b96407b71c6cc (patch)
tree81313c3c02ccb0acca1254538d5431b28e277dc5
parent7a62b554ab9ec866338f19271aecbee91c377e1c (diff)
downloadofono-cfcb6a7d9c44d55d09a64c16695b96407b71c6cc.tar.gz
unit: add validate_utf8_tlv tests
-rw-r--r--unit/test-simutil.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/unit/test-simutil.c b/unit/test-simutil.c
index 083bd4b2..6f8419b4 100644
--- a/unit/test-simutil.c
+++ b/unit/test-simutil.c
@@ -86,6 +86,27 @@ static void test_ber_tlv_iter(void)
test_buffer(valid_mms_params, sizeof(valid_mms_params));
}
+static void test_validate_tlv(void)
+{
+ unsigned char impi_none[] = { 0x80, 0x0 };
+ unsigned char impi_empty[] = { 0x80, 0x1, '\0' };
+ unsigned char impi_term1[] = { 0x80, 0x3, 'F', 'O', 'O' };
+ unsigned char impi_term2[] = { 0x80, 0x4, 'F', 'O', 'O', '\0' };
+ unsigned char impi_term3[] = { 0x80, 0x3, 'F', 'O', 'O', 0xff, 0xff };
+ unsigned char impi_term4[] = { 0x80, 0x4, 'F', 'O', 'O', '\0', 0xff };
+ unsigned char impi_invalid1[] = { 0x80, 0x4, 'F', '\0', 'O', '\0' };
+ unsigned char impi_invalid2[] = { 0x80, 0x4, 0xff, 0xff, 0xff, 0xff };
+
+ g_assert(validate_utf8_tlv(impi_none) == FALSE);
+ g_assert(validate_utf8_tlv(impi_empty) == TRUE);
+ g_assert(validate_utf8_tlv(impi_term1) == TRUE);
+ g_assert(validate_utf8_tlv(impi_term2) == TRUE);
+ g_assert(validate_utf8_tlv(impi_term3) == TRUE);
+ g_assert(validate_utf8_tlv(impi_term4) == TRUE);
+ g_assert(validate_utf8_tlv(impi_invalid1) == FALSE);
+ g_assert(validate_utf8_tlv(impi_invalid2) == FALSE);
+}
+
static void test_ber_tlv_builder_mms(void)
{
struct ber_tlv_iter top_iter, nested_iter;
@@ -610,6 +631,7 @@ int main(int argc, char **argv)
g_test_init(&argc, &argv, NULL);
g_test_add_func("/testsimutil/ber tlv iter", test_ber_tlv_iter);
+ g_test_add_func("/testsimutil/ber tlv validate utf8", test_validate_tlv);
g_test_add_func("/testsimutil/ber tlv encode MMS",
test_ber_tlv_builder_mms);
g_test_add_func("/testsimutil/ber tlv encode EFpnn",