Extend get_nodeName add testcases for it.

This commit is contained in:
Stefan Huehner 2005-11-02 19:55:30 +00:00 committed by Alexandre Julliard
parent 451ef3a9c3
commit d148ca4e0a
2 changed files with 36 additions and 2 deletions

View File

@ -178,6 +178,9 @@ static HRESULT WINAPI xmlnode_get_nodeName(
TRACE("%p\n", This ); TRACE("%p\n", This );
if (!name)
return E_INVALIDARG;
if ( !This->node ) if ( !This->node )
return E_FAIL; return E_FAIL;
@ -186,6 +189,9 @@ static HRESULT WINAPI xmlnode_get_nodeName(
case XML_TEXT_NODE: case XML_TEXT_NODE:
str = (const xmlChar*) "#text"; str = (const xmlChar*) "#text";
break; break;
case XML_DOCUMENT_NODE:
str = (const xmlChar*) "#document";
break;
default: default:
str = This->node->name; str = This->node->name;
break; break;

View File

@ -64,6 +64,9 @@ static const WCHAR szComplete4[] = {
static const WCHAR szNonExistentFile[] = { static const WCHAR szNonExistentFile[] = {
'c', ':', '\\', 'N', 'o', 'n', 'e', 'x', 'i', 's', 't', 'e', 'n', 't', '.', 'x', 'm', 'l', 0 'c', ':', '\\', 'N', 'o', 'n', 'e', 'x', 'i', 's', 't', 'e', 'n', 't', '.', 'x', 'm', 'l', 0
}; };
static const WCHAR szDocument[] = {
'#', 'd', 'o', 'c', 'u', 'm', 'e', 'n', 't', 0
};
static const WCHAR szOpen[] = { 'o','p','e','n',0 }; static const WCHAR szOpen[] = { 'o','p','e','n',0 };
static const WCHAR szdl[] = { 'd','l',0 }; static const WCHAR szdl[] = { 'd','l',0 };
@ -98,9 +101,9 @@ void test_domdoc( void )
ok( r == S_FALSE, "loadXML failed\n"); ok( r == S_FALSE, "loadXML failed\n");
ok( b == VARIANT_FALSE, "failed to load XML string\n"); ok( b == VARIANT_FALSE, "failed to load XML string\n");
/* try to laod an document from an non-existent file */ /* try to load an document from an non-existent file */
b = VARIANT_TRUE; b = VARIANT_TRUE;
str = SysAllocString ( szNonExistentFile ); str = SysAllocString( szNonExistentFile );
VariantInit(&var); VariantInit(&var);
V_VT(&var) = VT_BSTR; V_VT(&var) = VT_BSTR;
V_BSTR(&var) = str; V_BSTR(&var) = str;
@ -151,6 +154,19 @@ void test_domdoc( void )
ok( r == S_OK, "should be no document element\n"); ok( r == S_OK, "should be no document element\n");
} }
/* check if nodename is correct */
r = IXMLDOMDocument_get_nodeName( doc, NULL );
ok ( r == E_INVALIDARG, "get_nodeName (NULL) wrong code");
/* content doesn't matter here */
str = SysAllocString( szNonExistentFile );
r = IXMLDOMDocument_get_nodeName( doc, &str );
ok ( r == S_OK, "get_nodeName wrong code\n");
ok ( str != NULL, "str is null\n");
ok( !lstrcmpW( str, szDocument ), "incorrect nodeName\n");
SysFreeString( str );
/* check that there's no document element */ /* check that there's no document element */
element = NULL; element = NULL;
r = IXMLDOMDocument_get_documentElement( doc, &element ); r = IXMLDOMDocument_get_documentElement( doc, &element );
@ -279,6 +295,18 @@ void test_domnode( void )
ok( r == S_OK, "get_baseName returned wrong code\n"); ok( r == S_OK, "get_baseName returned wrong code\n");
ok( lstrcmpW(str,szlc) == 0, "basename was wrong\n"); ok( lstrcmpW(str,szlc) == 0, "basename was wrong\n");
/* check if nodename is correct */
r = IXMLDOMElement_get_nodeName( element, NULL );
ok ( r == E_INVALIDARG, "get_nodeName (NULL) wrong code");
/* content doesn't matter here */
str = SysAllocString( szNonExistentFile );
r = IXMLDOMElement_get_nodeName( element, &str );
ok ( r == S_OK, "get_nodeName wrong code\n");
ok ( str != NULL, "str is null\n");
ok( !lstrcmpW( str, szlc ), "incorrect nodeName\n");
SysFreeString( str );
r = IXMLDOMElement_get_attributes( element, &map ); r = IXMLDOMElement_get_attributes( element, &map );
ok( r == S_OK, "get_attributes returned wrong code\n"); ok( r == S_OK, "get_attributes returned wrong code\n");
ok( map != NULL, "should be attributes\n"); ok( map != NULL, "should be attributes\n");