From: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> --- dlls/msxml3/entityref.c | 14 +++++++------- dlls/msxml3/tests/domdoc.c | 23 +++++++++++++++++++---- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/dlls/msxml3/entityref.c b/dlls/msxml3/entityref.c index ab26064ff6e..abfff07d55f 100644 --- a/dlls/msxml3/entityref.c +++ b/dlls/msxml3/entityref.c @@ -146,7 +146,7 @@ static HRESULT WINAPI entityref_get_nodeName(IXMLDOMEntityReference *iface, BSTR { entityref *ref = impl_from_IXMLDOMEntityReference(iface); - FIXME("%p, %p.\n", iface, p); + TRACE("%p, %p.\n", iface, p); return node_get_name(ref->node, p); } @@ -418,25 +418,25 @@ static HRESULT WINAPI entityref_get_parsed(IXMLDOMEntityReference *iface, VARIAN static HRESULT WINAPI entityref_get_namespaceURI(IXMLDOMEntityReference *iface, BSTR *p) { - entityref *ref = impl_from_IXMLDOMEntityReference(iface); - TRACE("%p, %p.\n", iface, p); - return node_get_namespaceURI(ref->node, p); + return return_null_bstr(p); } static HRESULT WINAPI entityref_get_prefix(IXMLDOMEntityReference *iface, BSTR *prefix) { - FIXME("%p, %p: stub\n", iface, prefix); + TRACE("%p, %p.\n", iface, prefix); return return_null_bstr(prefix); } static HRESULT WINAPI entityref_get_baseName(IXMLDOMEntityReference *iface, BSTR *name) { - FIXME("%p, %p: needs test\n", iface, name); + entityref *ref = impl_from_IXMLDOMEntityReference(iface); + + TRACE("%p, %p.\n", iface, name); - return return_null_bstr(name); + return node_get_name(ref->node, name); } static HRESULT WINAPI entityref_transformNodeToObject(IXMLDOMEntityReference *iface, IXMLDOMNode *node, VARIANT var1) diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index bb0742af215..879fa2e8332 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -17585,14 +17585,29 @@ static void test_entityref(void) hr = IXMLDOMDocument_createEntityReference(doc, _bstr_("ent"), &ref); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = IXMLDOMEntityReference_get_prefix(ref, NULL); + ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr); + str = (void *)0x1; + hr = IXMLDOMEntityReference_get_prefix(ref, &str); + ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr); + ok(!str, "Unexpected prefix %p.\n", str); + + hr = IXMLDOMEntityReference_get_namespaceURI(ref, NULL); + ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr); + str = (void *)0x1; + hr = IXMLDOMEntityReference_get_namespaceURI(ref, &str); + ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr); + ok(!str, "Unexpected prefix %s.\n", debugstr_w(str)); + + hr = IXMLDOMEntityReference_get_nodeName(ref, &str); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(!wcscmp(str, L"ent"), "Unexpected name %s.\n", debugstr_w(str)); + SysFreeString(str); + hr = IXMLDOMEntityReference_get_baseName(ref, &str); - todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); -if (hr == S_OK) -{ ok(!wcscmp(str, L"ent"), "Unexpected name %s.\n", debugstr_w(str)); SysFreeString(str); -} IXMLDOMEntityReference_Release(ref); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10841