Nikolay Sivov : msxml3: Implement 'name' and 'nodeName' properties for doctype node.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Oct 7 14:49:56 CDT 2014


Module: wine
Branch: master
Commit: d7eec962e2280f4cc3d11343f738ea3cac328db6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d7eec962e2280f4cc3d11343f738ea3cac328db6

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Oct  7 18:15:42 2014 +0400

msxml3: Implement 'name' and 'nodeName' properties for doctype node.

---

 dlls/msxml3/doctype.c      |  8 ++++----
 dlls/msxml3/tests/domdoc.c | 25 +++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/dlls/msxml3/doctype.c b/dlls/msxml3/doctype.c
index c045c79..322b6c2 100644
--- a/dlls/msxml3/doctype.c
+++ b/dlls/msxml3/doctype.c
@@ -155,8 +155,8 @@ static HRESULT WINAPI domdoctype_get_nodeName(
     BSTR* p )
 {
     domdoctype *This = impl_from_IXMLDOMDocumentType( iface );
-    FIXME("(%p)->(%p): stub\n", This, p);
-    return E_NOTIMPL;
+    TRACE("(%p)->(%p)\n", This, p);
+    return node_get_nodeName(&This->node, p);
 }
 
 static HRESULT WINAPI domdoctype_get_nodeValue(
@@ -489,8 +489,8 @@ static HRESULT WINAPI domdoctype_get_name(
     BSTR *p)
 {
     domdoctype *This = impl_from_IXMLDOMDocumentType( iface );
-    FIXME("(%p)->(%p): stub\n", This, p);
-    return E_NOTIMPL;
+    TRACE("(%p)->(%p)\n", This, p);
+    return node_get_nodeName(&This->node, p);
 }
 
 static HRESULT WINAPI domdoctype_get_entities(
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 881679e..038df04 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -8912,9 +8912,12 @@ static void test_appendChild(void)
 
 static void test_get_doctype(void)
 {
+    static const WCHAR emailW[] = {'e','m','a','i','l',0};
     IXMLDOMDocumentType *doctype;
     IXMLDOMDocument *doc;
+    VARIANT_BOOL b;
     HRESULT hr;
+    BSTR s;
 
     doc = create_document(&IID_IXMLDOMDocument);
 
@@ -8926,6 +8929,28 @@ static void test_get_doctype(void)
     ok(hr == S_FALSE, "got 0x%08x\n", hr);
     ok(doctype == NULL, "got %p\n", doctype);
 
+    hr = IXMLDOMDocument_loadXML(doc, _bstr_(szEmailXML), &b);
+    ok(b == VARIANT_TRUE, "failed to load XML string\n");
+
+    doctype = NULL;
+    hr = IXMLDOMDocument_get_doctype(doc, &doctype);
+    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(doctype != NULL, "got %p\n", doctype);
+
+    hr = IXMLDOMDocumentType_get_name(doctype, NULL);
+    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+
+    hr = IXMLDOMDocumentType_get_name(doctype, &s);
+    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(!lstrcmpW(emailW, s), "got name %s\n", wine_dbgstr_w(s));
+    SysFreeString(s);
+
+    hr = IXMLDOMDocumentType_get_nodeName(doctype, &s);
+    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(!lstrcmpW(emailW, s), "got name %s\n", wine_dbgstr_w(s));
+    SysFreeString(s);
+
+    IXMLDOMDocumentType_Release(doctype);
     IXMLDOMDocument_Release(doc);
 }
 




More information about the wine-cvs mailing list