[MSXML3][MSXML3_WINETEST] Partial sync to Wine to enable libxml2 update. CORE-17766

xml2: Import upstream release 2.10.0.

wine commit id 015491ab32742ace5218d37b1149c58803858214 by Alexandre Julliard <julliard@winehq.org>

Note: Upstream msxml3_test has switched away from WINE_NO_LONG_TYPES, so
I've kept the old printf format specifiers for now. Once we do a full
sync, we can get rid of __ROS_LONG64__ for this test and use them
unmodified.
This commit is contained in:
Thomas Faber 2022-11-20 10:03:50 -05:00
parent 21ab4d93c7
commit 608bbe1136
No known key found for this signature in database
GPG key ID: 076E7C3D44720826
2 changed files with 22 additions and 25 deletions

View file

@ -380,8 +380,6 @@ static void init_char_encoders(void)
};
int i;
xmlInitCharEncodingHandlers();
for (i = 0; i < ARRAY_SIZE(encoder); i++)
{
if (!xmlFindCharEncodingHandler(encoder[i].encoding))

View file

@ -1132,27 +1132,28 @@ static void test_regex(void)
struct regex_test {
const WCHAR *regex;
const WCHAR *input;
BOOL todo;
};
struct regex_test tests[] = {
{ L"\\!", L"!", TRUE },
{ L"\\\"", L"\"", TRUE },
{ L"\\#", L"#", TRUE },
{ L"\\$", L"$", TRUE },
{ L"\\%", L"%", TRUE },
{ L"\\,", L",", TRUE },
{ L"\\/", L"/", TRUE },
{ L"\\:", L":", TRUE },
{ L"\\;", L";", TRUE },
{ L"\\=", L"=", TRUE },
{ L"\\>", L">", TRUE },
{ L"\\@", L"@", TRUE },
{ L"\\`", L"`", TRUE },
{ L"\\~", L"~", TRUE },
{ L"\\uCAFE", L"\xCAFE", TRUE },
{ L"\\!", L"!" },
{ L"\\\"", L"\"" },
{ L"\\#", L"#" },
{ L"\\$", L"$" },
{ L"\\%", L"%" },
{ L"\\,", L"," },
{ L"\\/", L"/" },
{ L"\\:", L":" },
{ L"\\;", L";" },
{ L"\\=", L"=" },
{ L"\\>", L">" },
{ L"\\@", L"@" },
{ L"\\`", L"`" },
{ L"\\~", L"~" },
{ L"\\uCAFE", L"\xCAFE" },
/* non-BMP character in surrogate pairs: */
{ L"\\uD83D\\uDE00", L"\xD83D\xDE00", TRUE }
{ L"\\uD83D\\uDE00", L"\xD83D\xDE00" },
/* "x{,2}" is non-standard and only works on libxml2 <= v2.9.10 */
{ L"x{0,2}", L"x" }
};
int i;
@ -1173,15 +1174,13 @@ static void test_regex(void)
if (doc60 && schema60 && cache60)
{
HRESULT hr = validate_regex_document(doc60, schema60, cache60, tests[i].regex, tests[i].input);
todo_wine_if(tests[i].todo)
ok(hr == S_OK, "got 0x%08x for version 60 regex %s input %s\n",
hr, wine_dbgstr_w(tests[i].regex), wine_dbgstr_w(tests[i].input));
ok(hr == S_OK, "got 0x%08x for for version 60 regex %s input %s\n",
hr, wine_dbgstr_w(tests[i].regex), wine_dbgstr_w(tests[i].input));
if (doc40 && schema40 && cache40)
{
hr = validate_regex_document(doc40, schema40, cache40, tests[i].regex, tests[i].input);
todo_wine_if(tests[i].todo)
ok(hr == S_OK, "got 0x%08x for version 40 regex %s input %s\n",
hr, wine_dbgstr_w(tests[i].regex), wine_dbgstr_w(tests[i].input));
ok(hr == S_OK, "got 0x%08x version 40 regex %s input %s\n",
hr, wine_dbgstr_w(tests[i].regex), wine_dbgstr_w(tests[i].input));
}
}
else