msxml3/tests: Basic test for ::setAttributeNode().
This commit is contained in:
parent
97e78d9a0e
commit
398e649414
|
@ -661,7 +661,11 @@ static HRESULT WINAPI domelem_setAttributeNode(
|
||||||
IXMLDOMAttribute** attributeNode)
|
IXMLDOMAttribute** attributeNode)
|
||||||
{
|
{
|
||||||
domelem *This = impl_from_IXMLDOMElement( iface );
|
domelem *This = impl_from_IXMLDOMElement( iface );
|
||||||
|
|
||||||
FIXME("(%p)->(%p %p)\n", This, domAttribute, attributeNode);
|
FIXME("(%p)->(%p %p)\n", This, domAttribute, attributeNode);
|
||||||
|
|
||||||
|
if(!domAttribute) return E_INVALIDARG;
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5932,6 +5932,57 @@ static void test_get_ownerDocument(void)
|
||||||
free_bstrs();
|
free_bstrs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_setAttributeNode(void)
|
||||||
|
{
|
||||||
|
IXMLDOMDocument *doc;
|
||||||
|
IXMLDOMElement *elem;
|
||||||
|
IXMLDOMAttribute *attr, *attr2, *ret_attr;
|
||||||
|
VARIANT_BOOL b;
|
||||||
|
HRESULT hr;
|
||||||
|
BSTR str;
|
||||||
|
|
||||||
|
doc = create_document(&IID_IXMLDOMDocument);
|
||||||
|
if (!doc) return;
|
||||||
|
|
||||||
|
str = SysAllocString( szComplete4 );
|
||||||
|
hr = IXMLDOMDocument2_loadXML( doc, str, &b );
|
||||||
|
ok( hr == S_OK, "loadXML failed\n");
|
||||||
|
ok( b == VARIANT_TRUE, "failed to load XML string\n");
|
||||||
|
SysFreeString( str );
|
||||||
|
|
||||||
|
hr = IXMLDOMDocument_get_documentElement(doc, &elem);
|
||||||
|
ok( hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
|
||||||
|
ret_attr = (void*)0xdeadbeef;
|
||||||
|
hr = IXMLDOMElement_setAttributeNode(elem, NULL, &ret_attr);
|
||||||
|
ok( hr == E_INVALIDARG, "got 0x%08x\n", hr);
|
||||||
|
ok( ret_attr == (void*)0xdeadbeef, "got %p\n", ret_attr);
|
||||||
|
|
||||||
|
hr = IXMLDOMDocument_createAttribute(doc, _bstr_("attr"), &attr);
|
||||||
|
ok( hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
|
||||||
|
ret_attr = (void*)0xdeadbeef;
|
||||||
|
hr = IXMLDOMElement_setAttributeNode(elem, attr, &ret_attr);
|
||||||
|
todo_wine ok( hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
todo_wine ok( ret_attr == NULL, "got %p\n", ret_attr);
|
||||||
|
|
||||||
|
attr2 = NULL;
|
||||||
|
hr = IXMLDOMElement_getAttributeNode(elem, _bstr_("attr"), &attr2);
|
||||||
|
todo_wine ok( hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
if (attr2) IXMLDOMAttribute_Release(attr2);
|
||||||
|
|
||||||
|
/* try to add it another time */
|
||||||
|
ret_attr = (void*)0xdeadbeef;
|
||||||
|
hr = IXMLDOMElement_setAttributeNode(elem, attr, &ret_attr);
|
||||||
|
todo_wine ok( hr == E_FAIL, "got 0x%08x\n", hr);
|
||||||
|
ok( ret_attr == (void*)0xdeadbeef, "got %p\n", ret_attr);
|
||||||
|
|
||||||
|
IXMLDOMAttribute_Release(attr);
|
||||||
|
IXMLDOMElement_Release(elem);
|
||||||
|
IXMLDOMDocument_Release(doc);
|
||||||
|
free_bstrs();
|
||||||
|
}
|
||||||
|
|
||||||
START_TEST(domdoc)
|
START_TEST(domdoc)
|
||||||
{
|
{
|
||||||
IXMLDOMDocument *doc;
|
IXMLDOMDocument *doc;
|
||||||
|
@ -5951,7 +6002,6 @@ START_TEST(domdoc)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
IXMLDOMDocument_Release(doc);
|
IXMLDOMDocument_Release(doc);
|
||||||
|
|
||||||
test_domdoc();
|
test_domdoc();
|
||||||
|
@ -5985,6 +6035,7 @@ START_TEST(domdoc)
|
||||||
test_getQualifiedItem();
|
test_getQualifiedItem();
|
||||||
test_removeQualifiedItem();
|
test_removeQualifiedItem();
|
||||||
test_get_ownerDocument();
|
test_get_ownerDocument();
|
||||||
|
test_setAttributeNode();
|
||||||
|
|
||||||
CoUninitialize();
|
CoUninitialize();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue