From: Rhodri James Date: Tue, 28 Feb 2017 15:07:07 +0000 (+0000) Subject: Test declaring a UTF-16 encoding while actually in UTF-8 is rejected X-Git-Tag: R_2_2_3~22^2~257 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ac40d1ed350d80cd3d94a065d58f724259293724;p=libexpat Test declaring a UTF-16 encoding while actually in UTF-8 is rejected --- diff --git a/expat/tests/runtests.c b/expat/tests/runtests.c index 40dce754..9ad3b073 100644 --- a/expat/tests/runtests.c +++ b/expat/tests/runtests.c @@ -666,6 +666,21 @@ START_TEST(test_utf16_le_epilog_newline) } END_TEST +/* Test that an outright lie in the encoding is faulted */ +START_TEST(test_not_utf16) +{ + const char *text = + "" + "Hi"; + + /* Use a handler to provoke the appropriate code paths */ + XML_SetXmlDeclHandler(parser, dummy_xdecl_handler); + expect_failure(text, + XML_ERROR_INCORRECT_ENCODING, + "UTF-16 declared in UTF-8 not faulted"); +} +END_TEST + /* Regression test for SF bug #481609, #774028. */ START_TEST(test_latin1_umlauts) { @@ -5849,6 +5864,7 @@ make_suite(void) tcase_add_test(tc_basic, test_utf8_auto_align); tcase_add_test(tc_basic, test_utf16); tcase_add_test(tc_basic, test_utf16_le_epilog_newline); + tcase_add_test(tc_basic, test_not_utf16); tcase_add_test(tc_basic, test_latin1_umlauts); /* Regression test for SF bug #491986. */ tcase_add_test(tc_basic, test_danish_latin1);