--- unit/test-stkutil.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 64 insertions(+), 0 deletions(-)
diff --git a/unit/test-stkutil.c b/unit/test-stkutil.c index 8b7e254..3c0ac78 100644 --- a/unit/test-stkutil.c +++ b/unit/test-stkutil.c @@ -21923,6 +21923,63 @@ static const struct envelope_test timer_expiration_data_221a = { }, }; +struct html_attr_test { + char *text; + const unsigned char *attrs; + unsigned int attrs_len; + char *output; +}; + +unsigned char html_attr_1[] = { 0x19, 0x06, 0x20, 0x00, 0x21, 0x04, 0x10, 0x00, + 0x27, 0x05, 0x04, 0x00, 0x2E, 0x05, 0x08, 0x00, + 0x38, 0x07, 0x00, 0x2B }; + +unsigned char html_attr_2[] = { 0x00, 0x00, 0x00, 0x94, 0x00, 0x04, 0x00, 0x96 }; + +unsigned char html_attr_3[] = { 0x00, 0x02, 0x00, 0x94, 0x01, 0x02, 0x00, 0x96 }; + +static struct html_attr_test html_attr_data_1 = { + .text = "EMS messages can contain italic, bold, large, small and " + "colored text", + .attrs = html_attr_1, + .attrs_len = sizeof(html_attr_1), + .output = "EMS messages can contain <span style=\"font-style: italic;\">" + "italic</span>, <span style=\"font-weight: bold;\">bold</span>, " + "<span style=\"font-size: big;\">large</span>, " + "<span style=\"font-size: small;\">small</span> and " + "<span style=\"color: #FFFF00;background-color: #C11B17;\">colored" + "</span> text", +}; + +static struct html_attr_test html_attr_data_2 = { + .text = "Blue green green green", + .attrs = html_attr_2, + .attrs_len = sizeof(html_attr_2), + .output = "<span style=\"color: #0000A0;background-color: #FFFFFF;\">Blue" + "</span><span style=\"color: #347235;background-color: #FFFFFF;\">" + " green green green</span>", +}; + +static struct html_attr_test html_attr_data_3 = { + .text = "abc", + .attrs = html_attr_3, + .attrs_len = sizeof(html_attr_3), + .output = "<span style=\"color: #347235;background-color: #FFFFFF;\">" + "a</span><span style=\"color: #0000A0;background-color: #FFFFFF;\"" + ">bc</span>", +}; + +static void test_html_attr(gconstpointer data) +{ + const struct html_attr_test *test = data; + char *html; + + html = stk_text_to_html(test->text, strlen(test->text), test->attrs, + test->attrs_len); + g_assert(memcmp(html, test->output, strlen(test->output)) == 0); + g_free(html); +} + int main(int argc, char **argv) { g_test_init(&argc, &argv, NULL); @@ -23930,5 +23987,12 @@ int main(int argc, char **argv) g_test_add_data_func("/teststk/Timer Expiration 2.2.1A", &timer_expiration_data_221a, test_envelope_encoding); + g_test_add_data_func("/teststk/HTML Attribute Test 1", + &html_attr_data_1, test_html_attr); + g_test_add_data_func("/teststk/HTML Attribute Test 2", + &html_attr_data_2, test_html_attr); + g_test_add_data_func("/teststk/HTML Attribute Test 3", + &html_attr_data_3, test_html_attr); + return g_test_run(); } -- 1.6.6.1 _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono