diff --git a/dlls/msxml3/node.c b/dlls/msxml3/node.c index d486bd930ea..da9afd244bf 100644 --- a/dlls/msxml3/node.c +++ b/dlls/msxml3/node.c @@ -250,16 +250,16 @@ static HRESULT WINAPI xmlnode_get_nodeName( str = (const xmlChar*) "#document-fragment"; break; case XML_TEXT_NODE: - str = (const xmlChar*) "#text"; - break; + str = (const xmlChar*) "#text"; + break; case XML_DOCUMENT_NODE: - str = (const xmlChar*) "#document"; - break; - case XML_ATTRIBUTE_NODE: - case XML_ELEMENT_NODE: - case XML_PI_NODE: + str = (const xmlChar*) "#document"; + break; + case XML_ATTRIBUTE_NODE: + case XML_ELEMENT_NODE: + case XML_PI_NODE: str = This->node->name; - break; + break; default: FIXME("nodeName not mapped correctly (%d)\n", This->node->type); str = This->node->name; @@ -1622,6 +1622,7 @@ static HRESULT WINAPI xmlnode_get_baseName( { case XML_ELEMENT_NODE: case XML_ATTRIBUTE_NODE: + case XML_PI_NODE: str = bstr_from_xmlChar( This->node->name ); r = S_OK; break; diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index bf2e2345b6b..1b134afb8f8 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -1032,6 +1032,13 @@ static void test_domdoc( void ) ok( !lstrcmpW( str, _bstr_("xml") ), "incorrect nodeName string\n"); SysFreeString(str); + /* test baseName */ + str = (BSTR)0x1; + r = IXMLDOMProcessingInstruction_get_baseName(nodePI, &str); + ok(r == S_OK, "ret %08x\n", r ); + ok( !lstrcmpW( str, _bstr_("xml") ), "incorrect nodeName string\n"); + SysFreeString(str); + /* test Target */ r = IXMLDOMProcessingInstruction_get_target(nodePI, &str); ok(r == S_OK, "ret %08x\n", r );