Commit 712b33c1 authored by Daniel Lehman's avatar Daniel Lehman Committed by Alexandre Julliard

msxml4/tests: Add tests for default namespace.

parent 6a7c5313
......@@ -67,6 +67,7 @@ static void test_namespaces_as_attributes(void)
const WCHAR *uris[3];
const WCHAR *texts[3];
const WCHAR *xmls[3];
BOOL todo;
};
static const struct test tests[] =
{
......@@ -99,6 +100,17 @@ static void test_namespaces_as_attributes(void)
{ L"nshref" }, /* text */
{ L"xmlns:ns=\"nshref\"" }, /* xml */
},
/* default namespace */
{
L"<a xmlns=\"nshref\" />", 1,
{ L"xmlns" }, /* nodeName */
{ L"xmlns" }, /* prefix */
{ L"" }, /* baseName */
{ L"" }, /* namespaceURI */
{ L"nshref" }, /* text */
{ L"xmlns=\"nshref\"" }, /* xml */
TRUE, /* todo */
},
/* no properties or namespaces */
{
L"<a />", 0,
......@@ -125,7 +137,7 @@ static void test_namespaces_as_attributes(void)
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
node = NULL;
hr = IXMLDOMDocument2_selectSingleNode(doc, _bstr_(L"a"), &node);
hr = IXMLDOMDocument2_get_firstChild(doc, &node);
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
hr = IXMLDOMNode_get_attributes(node, &map);
......@@ -145,7 +157,9 @@ static void test_namespaces_as_attributes(void)
{
item = NULL;
hr = IXMLDOMNamedNodeMap_get_item(map, i, &item);
todo_wine_if(test->todo)
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
if (hr != S_OK) continue;
str = NULL;
hr = IXMLDOMNode_get_nodeName(item, &str);
......@@ -157,8 +171,10 @@ static void test_namespaces_as_attributes(void)
hr = IXMLDOMNode_get_prefix(item, &str);
if (test->prefixes[i])
{
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!lstrcmpW(str, test->prefixes[i]), "got %s\n", wine_dbgstr_w(str));
/* MSXML4 can report different results with different service packs */
ok(hr == S_OK || broken(hr == S_FALSE), "Unexpected hr %#lx.\n", hr);
ok(!lstrcmpW(str, test->prefixes[i]) || broken(!str),
"got %s\n", wine_dbgstr_w(str));
SysFreeString(str);
}
else
......@@ -166,8 +182,10 @@ static void test_namespaces_as_attributes(void)
str = NULL;
hr = IXMLDOMNode_get_baseName(item, &str);
/* MSXML4 can report different results with different service packs */
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
ok(!lstrcmpW(str, test->basenames[i]), "got %s\n", wine_dbgstr_w(str));
ok(!lstrcmpW(str, test->basenames[i]) || broken(!lstrcmpW(str, L"xmlns")),
"got %s\n", wine_dbgstr_w(str));
SysFreeString(str);
str = NULL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment